:root {
  color-scheme:light;
  --ink:#243b38;
  --muted:#63726e;
  --accent:#235f50;
  --line:#dce3df;
  --paper:#f5f6f2;
  --warning:#fff5d9;
  --error:#fff0ec;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--paper);
  font-size:16px
}
* {
  box-sizing:border-box
}
body {
  margin:0
}
a {
  color:var(--accent);
  text-underline-offset:3px
}
button,input,select {
  font:inherit
}
button {
  border:1px solid var(--accent);
  background:var(--accent);
  color:white;
  border-radius:7px;
  padding:.7rem 1rem;
  cursor:pointer;
  font-weight:600
}
button.secondary {
  background:white;
  color:var(--ink);
  border-color:#bccbc4
}
button:disabled {
  opacity:.45;
  cursor:not-allowed
}
button:not(:disabled):hover {
  filter:brightness(.94)
}
:focus-visible {
  outline:3px solid var(--accent);
  outline-offset:3px
}
[hidden] {
  display:none!important
}
.topbar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  max-width:1220px;
  margin:auto;
  padding:24px 32px;
  border-bottom:1px solid var(--line)
}
.wordmark {
  font-weight:800;
  letter-spacing:.16em;
  text-decoration:none;
  font-size:14px
}
.wordmark span {
  font-weight:450
}
.local-tag {
  font-size:12px;
  border:1px solid #c6d6ca;
  padding:6px 10px;
  border-radius:100px;
  background:#edf3eb
}
main {
  max-width:1220px;
  margin:auto;
  padding:0 32px 40px
}
.intro {
  padding:42px 0 26px;
  max-width:800px
}
.eyebrow {
  letter-spacing:.1em;
  text-transform:uppercase;
  font-size:11px;
  font-weight:700;
  color:var(--accent)
}
h1 {
  font-size:clamp(32px,4vw,48px);
  line-height:1.12;
  letter-spacing:-.045em;
  margin:12px 0 18px;
  font-weight:650
}
.intro>p:not(.eyebrow) {
  max-width:720px;
  line-height:1.6
}
.privacy {
  font-size:13px;
  color:var(--muted)
}
.panel {
  background:white;
  border:1px solid var(--line);
  border-radius:12px;
  padding:24px;
  margin-bottom:20px;
  box-shadow:0 2px 6px #243b3804
}
.section-heading {
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:18px
}
.section-heading h2 {
  font-size:18px;
  margin:0;
  font-weight:650;
  flex:1
}
.section-heading button {
  font-size:13px
}
.step {
  color:var(--accent);
  font-size:11px;
  font-weight:750;
  background:#eaf2ed;
  padding:6px 8px;
  border-radius:5px
}
label {
  display:block;
  font-weight:600;
  font-size:14px;
  margin-bottom:8px
}
input[type=file] {
  max-width:100%;
  width:100%;
  border:1px dashed #b6c9be;
  border-radius:8px;
  padding:14px;
  background:#fafcf9
}
input::file-selector-button {
  font:inherit;
  color:var(--ink);
  background:white;
  border:1px solid #b6c9be;
  border-radius:5px;
  padding:7px 12px;
  margin-right:12px;
  cursor:pointer
}
.hint {
  font-size:12px;
  line-height:1.55;
  color:var(--muted)
}
.file-info {
  font-size:13px;
  font-weight:600;
  overflow-wrap:anywhere
}
.settings {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:22px
}
select {
  width:100%;
  padding:11px 12px;
  background:white;
  border:1px solid #b6c9be;
  border-radius:6px;
  color:var(--ink)
}
.input-actions {
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
  font-size:12px;
  border-top:1px solid var(--line);
  margin-top:18px;
  padding-top:18px
}
.input-actions button {
  font-size:12px
}
#status {
  font-size:13px;
  min-height:24px;
  line-height:1.55;
  overflow-wrap:anywhere
}
.diagnostics {
  display:grid;
  gap:10px
}
.diagnostic {
  padding:12px 14px;
  border:1px solid #eadab2;
  background:var(--warning);
  border-radius:7px;
  font-size:13px;
  line-height:1.5
}
.diagnostic.error {
  background:var(--error);
  border-color:#e8c8bb
}
.diagnostic.choice {
  background:#edf3f9;
  border-color:#ccdbe6
}
.diagnostic.resolved {
  background:#edf5ee;
  border-color:#cbdccd
}
.diagnostic p {
  margin:5px 0
}
.diagnostic code {
  font-size:11px;
  font-weight:700
}
.diagnostic .metadata {
  color:var(--muted);
  font-size:11px;
  overflow-wrap:anywhere
}
.comparison {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px
}
.comparison>section {
  min-width:0
}
h3 {
  font-size:14px;
  margin:16px 0 8px
}
.format {
  font-size:11px;
  color:var(--muted);
  min-height:30px
}
.table-scroll {
  max-height:440px;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:6px
}
.table-scroll table {
  border-collapse:collapse;
  font-size:12px;
  width:100%
}
.table-scroll th {
  background:#eff3ef;
  font-weight:600;
  position:sticky;
  top:0;
  z-index:1
}
.table-scroll td,.table-scroll th {
  border-bottom:1px solid var(--line);
  border-right:1px solid var(--line);
  padding:10px;
  vertical-align:top;
  min-width:100px;
  max-width:280px;
  white-space:pre-wrap;
  overflow-wrap:anywhere
}
.table-scroll .row-number {
  min-width:45px;
  color:var(--muted);
  white-space:nowrap;
  font-size:10px
}
.empty-cell {
  color:var(--muted);
  font-style:italic;
  font-size:11px
}
.cell-more {
  display:block;
  font-size:10px;
  padding:4px 6px;
  margin-top:6px;
  background:white;
  color:var(--ink);
  border-color:var(--line)
}
.placeholder {
  font-size:12px;
  color:var(--muted);
  padding:15px;
  line-height:1.6
}
.pagination {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:10px 0;
  font-size:11px
}
.pagination button {
  font-size:10px;
  padding:6px 8px
}
.repair {
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px 0;
  border-bottom:1px solid var(--line);
  font-weight:400;
  font-size:13px;
  line-height:1.5
}
.repair input {
  margin-top:4px;
  flex-shrink:0;
  accent-color:var(--accent)
}
.default-warnings {
  font-size:13px;
  background:var(--warning);
  border-radius:7px;
  margin:18px 0;
  padding:12px 16px;
  line-height:1.6
}
.default-warnings:empty {
  display:none
}
.default-warnings p {
  margin:8px 0
}
.default-warnings code {
  font-size:10px
}
.copy-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px
}
#copy-summary {
  font-size:13px;
  line-height:1.6;
  overflow-wrap:anywhere
}
footer {
  font-size:11px;
  color:var(--muted);
  padding-top:12px
}
dialog {
  border:1px solid var(--line);
  border-radius:10px;
  max-width:min(850px,90vw);
  max-height:85vh;
  width:90%;
  padding:24px;
  color:var(--ink)
}
dialog::backdrop {
  background:#20363166
}
dialog h2 {
  font-size:17px
}
dialog pre {
  white-space:pre-wrap;
  overflow:auto;
  max-height:60vh;
  overflow-wrap:anywhere;
  font:13px/1.6 ui-monospace,monospace
}
@media(max-width:700px) {
  .topbar {
    padding:18px
  }
  main {
    padding:0 18px 30px
  }
  .intro {
    padding-top:28px
  }
  .panel {
    padding:18px
  }
  .settings,.comparison {
    grid-template-columns:1fr
  }
  .section-heading h2 {
    min-width:65%
  }
  .pagination {
    flex-wrap:wrap
  }
  .pagination span {
    order:3;
    flex-basis:100%;
    text-align:center
  }
  .copy-actions button {
    width:100%
  }
  .input-actions {
    gap:12px
  }
}
/* Landing and shared navigation: no fonts, trackers or assets from third parties. */
html {scroll-behavior:auto}
.skip-link {position:absolute;top:-100px;left:16px;z-index:10;padding:12px;background:white;border:2px solid var(--accent)}
.skip-link:focus {top:8px}
.topbar nav {display:flex;gap:24px;align-items:center;font-size:13px;flex-wrap:wrap}
.topbar nav a {text-decoration:none}
.topbar nav a:hover {text-decoration:underline}
.nav-tool {font-weight:700}
.button {display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;padding:.85rem 1.3rem;border:1px solid var(--accent);border-radius:7px;background:var(--accent);color:white;text-decoration:none;font-weight:650;line-height:1.4}
.button.secondary {background:white;color:var(--accent)}
.hero {display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:64px;padding:76px 0 56px}
.hero h1 {font-size:clamp(40px,5.4vw,68px);font-weight:650;line-height:1.04;letter-spacing:-.06em;margin:22px 0}
.hero h1 em {font-family:Georgia,serif;font-weight:400;color:var(--accent)}
.hero-description {font-size:18px;line-height:1.7;max-width:530px}
.hero-actions {display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 18px}
.scope-note {font-size:12px;line-height:1.6;color:var(--muted);max-width:500px}
.hero-preview {margin:0;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 55px #243b3810;overflow:hidden;transform:rotate(-1deg)}
.preview-bar {display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:16px 22px;font-size:11px;border-bottom:1px solid var(--line);color:var(--muted)}
.preview-dot {height:7px;width:7px;border-radius:50%;background:var(--accent)}
.mini-tag {display:inline-block;border:1px solid #cad8cf;padding:5px 8px;border-radius:5px;color:var(--accent);background:#edf3eb;font-size:11px;font-weight:600}
.preview-bar .mini-tag {margin-left:auto}
.sample-file {display:flex;gap:14px;align-items:center;padding:26px 24px 20px}
.sample-file strong {font-size:14px;overflow-wrap:anywhere}
.sample-file p {margin:6px 0;font-size:12px;color:var(--muted)}
.file-icon {padding:15px 10px;background:#edf3eb;border:1px solid #c6d6ca;border-radius:6px;font-size:11px;font-weight:800;color:var(--accent)}
.sample-row {padding:16px 24px;border-top:1px solid #edf0ec;display:grid;grid-template-columns:60px 1fr;gap:16px;align-items:center;font-size:12px}
.sample-row>span {color:var(--muted)}
.sample-row code {white-space:normal;overflow-wrap:anywhere;line-height:1.9}
.sample-row code strong {background:#fff0c5;color:#695216;padding:2px 3px}
.sample-after code strong {background:#dfeee4;color:var(--accent)}
.preserved {margin:12px 24px 0;padding:14px 0;border-top:1px solid var(--line);font-size:12px;color:var(--accent);font-weight:650}
.hero-preview figcaption {font-size:11px;line-height:1.5;color:var(--muted);padding:0 24px 20px}
.expectations {display:grid;grid-template-columns:repeat(3,1fr);gap:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}
.expectations p {display:grid;gap:8px;margin:0}
.expectations strong {font-size:14px;font-weight:650}
.expectations span {font-size:12px;color:var(--muted)}
.landing-section {padding:62px 0;border-bottom:1px solid var(--line)}
.landing-section h2,.closing-cta h2 {font-size:clamp(26px,3vw,36px);font-weight:600;letter-spacing:-.035em;line-height:1.18;margin:12px 0 24px}
.steps-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:36px}
.steps-grid h3 {font-size:17px;margin-top:20px}
.steps-grid p,.scope-grid p,.offer-section p,.faq p,.closing-cta p {line-height:1.7;font-size:14px}
.scope-grid {display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.important-note {border:1px solid #e8d9af;background:var(--warning);padding:24px;border-radius:10px;font-size:13px;line-height:1.7}
.important-note h3 {font-size:20px}
.important-note h2 {font-size:22px}
.offer-section {display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.offer-card {padding:28px;background:white;border:1px solid var(--line);border-radius:12px}
.offer-card h3 {font-size:20px}
.offer-card .proposed-price {font-size:32px;font-weight:650;margin:18px 0}
.proposed-price span {font-size:12px;font-weight:400;color:var(--muted)}
.faq {max-width:780px}
.faq details {border-top:1px solid var(--line);padding:18px 0;font-size:14px}
.faq summary {cursor:pointer;font-weight:600;line-height:1.5}
.closing-cta {text-align:center;padding:62px 0 24px}
.site-footer {max-width:1220px;margin:0 auto;display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:28px 32px;border-top:1px solid var(--line);font-size:12px;line-height:1.6;color:var(--muted)}
.site-footer p {flex:1;margin:0;min-width:180px}
.profile-page {max-width:980px}
.profile-page .important-note {margin-bottom:20px}
.profile-page td,.profile-page th {white-space:normal;min-width:160px;line-height:1.6}
.profile-page .panel p {line-height:1.7;font-size:14px}
.tool-scope {margin-bottom:24px;padding:16px 20px}
.demo-launch {display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:20px}
.demo-launch button {font-size:13px}
.demo-launch .hint {flex:1;min-width:180px}
@media(max-width:900px) {.hero {gap:32px;padding-top:48px}.scope-grid,.offer-section {gap:32px}}
@media(max-width:700px) {.topbar {gap:16px;flex-wrap:wrap;padding:20px}.topbar nav {gap:16px;font-size:12px}main {padding-left:20px;padding-right:20px}.hero {grid-template-columns:1fr;padding:36px 0;gap:28px}.hero-preview {transform:none}.hero h1 {font-size:46px}.hero-description {font-size:16px}.expectations {gap:20px}.steps-grid,.scope-grid,.offer-section {grid-template-columns:1fr;gap:24px}.landing-section {padding:40px 0}.site-footer {padding:24px 20px}}
@media(max-width:400px) {.expectations {grid-template-columns:1fr;gap:16px}.hero h1 {font-size:40px}.sample-row {grid-template-columns:1fr;gap:6px}.topbar nav {gap:12px}.hero-actions .button {width:100%}.wordmark {letter-spacing:.1em}}
