:root {
  --ink: #2d2a26;
  --muted: #6f675f;
  --paper: #f7f2e8;
  --white: #fffdf8;
  --green: #930009;
  --green-dark: #650006;
  --green-soft: #f0dfdc;
  --mint: #d8bf8c;
  --amber: #b89755;
  --red: #930009;
  --success: #2f6b4f;
  --line: #d9cebf;
  --shadow: 0 24px 70px rgba(74, 31, 25, .12);
  --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.55; }
a { color: inherit; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

.site-header { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; padding: 16px clamp(20px, 4vw, 64px); background: rgba(247,242,232,.94); border-bottom: 1px solid rgba(45,42,38,.08); backdrop-filter: blur(16px); }
.brand { display: inline-flex; align-items: center; gap: 12px; font-weight: 800; letter-spacing: -.02em; text-decoration: none; }
.brand small { display: block; color: var(--muted); font-size: 11px; font-weight: 600; letter-spacing: .03em; }
.brand-mark { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 14px; color: white; background: var(--green); font: 800 13px/1 ui-monospace, monospace; letter-spacing: .04em; }
nav { display: flex; align-items: center; gap: 26px; }
nav a { color: #40504a; font-size: 14px; font-weight: 700; text-decoration: none; }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 24px; border: 0; border-radius: 999px; color: white; background: var(--green); box-shadow: 0 8px 24px rgba(147,0,9,.18); font-weight: 800; text-decoration: none; cursor: pointer; transition: .2s ease; }
.button:hover { background: var(--green-dark); transform: translateY(-1px); }
.button:disabled { cursor: not-allowed; opacity: .45; transform: none; }
.button-small { min-height: 38px; padding: 0 17px; color: white; font-size: 13px; }
.button-secondary { color: var(--green); background: var(--green-soft); box-shadow: none; }
.button-danger { color: white; background: var(--red); box-shadow: none; }

.hero { min-height: 680px; align-items: center; padding-top: clamp(72px, 9vw, 128px); padding-bottom: clamp(72px, 9vw, 120px); overflow: hidden; }
.section-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(350px, .72fr); gap: clamp(48px, 8vw, 120px); max-width: 1280px; margin: 0 auto; padding-inline: clamp(22px, 5vw, 76px); }
.hero-copy { position: relative; }
.hero-copy::before { content: ""; position: absolute; z-index: -1; width: 440px; height: 440px; top: -180px; left: -250px; border-radius: 50%; background: radial-gradient(circle, rgba(184,151,85,.26), rgba(184,151,85,0) 70%); }
.eyebrow, .kicker { margin: 0 0 14px; color: var(--green); font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 780px; margin-bottom: 24px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(46px, 6vw, 82px); font-weight: 500; letter-spacing: -.052em; line-height: .98; }
h2 { margin-bottom: 18px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(36px, 4.6vw, 60px); font-weight: 500; letter-spacing: -.04em; line-height: 1.04; }
h3 { margin-bottom: 8px; font-size: 18px; letter-spacing: -.02em; }
.lead { max-width: 720px; color: #52615c; font-size: clamp(18px, 2vw, 22px); }
.hero-actions { display: flex; align-items: center; gap: 24px; margin: 18px 0 24px; }
.hero-security { max-width:760px; margin:20px 0 -10px; padding:14px 16px; border-left:3px solid var(--amber); background:#fffaf0; color:var(--ink); font-size:14px; }
.hero-security strong { display:block; margin-bottom:4px; color:var(--green); text-transform:uppercase; letter-spacing:.02em; }
.text-link { color: var(--green); font-weight: 800; text-decoration: none; }
.trust-list { display: flex; flex-wrap: wrap; gap: 14px 24px; padding: 0; color: var(--muted); font-size: 13px; list-style: none; }
.trust-list li::before { content: "✓"; margin-right: 8px; color: var(--green); font-weight: 900; }

.signal-card { position: relative; padding: clamp(26px, 4vw, 42px); border: 1px solid rgba(23,35,31,.08); border-radius: 30px; background: var(--white); box-shadow: var(--shadow); transform: rotate(1.2deg); }
.signal-card::after { content: ""; position: absolute; inset: 12px -14px -14px 12px; z-index: -1; border-radius: 30px; background: var(--green-soft); }
.signal-top { display: flex; justify-content: space-between; gap: 10px; padding-bottom: 22px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 12px; font-weight: 800; }
.status-dot { color: var(--green); }
.status-dot::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 7px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 4px #dfece5; }
.metric-label { margin: 30px 0 8px; color: var(--muted); font-size: 13px; }
.metric-value { margin-bottom: 28px; font-family: Georgia, serif; font-size: clamp(42px, 5vw, 64px); letter-spacing: -.04em; line-height: 1; }
.metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.metric-grid div { min-width: 0; padding: 14px; border-radius: 14px; background: #f2f5f2; }
.metric-grid strong, .metric-grid span { display: block; }
.metric-grid strong { font-size: 14px; }
.metric-grid span { margin-top: 3px; color: var(--muted); font-size: 10px; }
.locked-preview { display: flex; align-items: center; gap: 14px; margin-top: 24px; padding: 17px; border: 1px dashed #b8c8c0; border-radius: 16px; background: #fbfcfa; }
.locked-preview > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: white; background: var(--green); }
.locked-preview strong, .locked-preview small { display: block; }
.locked-preview small { color: var(--muted); }

.proof-strip { display: grid; grid-template-columns: repeat(4, 1fr); max-width: 1100px; margin: 0 auto; padding: 24px clamp(20px, 4vw, 50px); border-top: 1px solid #d5dbd5; border-bottom: 1px solid #d5dbd5; color: #5c6965; font-size: 13px; font-weight: 800; text-align: center; }
.proof-strip span + span { border-left: 1px solid #d5dbd5; }
.content-section, .boundary-section { max-width: 1280px; margin: 0 auto; padding: clamp(90px, 11vw, 150px) clamp(22px, 5vw, 76px); }
.section-heading { max-width: 850px; margin-bottom: 54px; }
.section-heading > p:last-child, .split-section > div:first-child > p:last-child { max-width: 680px; color: var(--muted); font-size: 18px; }
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.steps article { padding: 26px 24px; border-top: 2px solid var(--green); background: rgba(255,254,250,.62); }
.steps article > span, .security-grid article > span { display: block; margin-bottom: 34px; color: var(--green); font: 800 12px/1 ui-monospace, monospace; }
.steps p, .security-grid p { margin: 0; color: var(--muted); font-size: 14px; }

.split-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(50px, 8vw, 120px); align-items: start; }
.deliverable-list { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #cfd5cf; }
.deliverable-list div { padding: 22px 8px; border-bottom: 1px solid #cfd5cf; }
.deliverable-list div:nth-child(odd) { padding-right: 25px; }
.deliverable-list strong, .deliverable-list span { display: block; }
.deliverable-list span { margin-top: 4px; color: var(--muted); font-size: 13px; }

.boundary-section { max-width: none; color: white; background: #2d070a; }
.boundary-section > div { max-width: 1128px; margin-inline: auto; }
.boundary-section .eyebrow { color: var(--mint); }
.boundary-section h2 { max-width: 850px; }
.boundary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 44px; }
.boundary-grid article { padding: 30px; border: 1px solid rgba(255,255,255,.16); border-radius: var(--radius); background: rgba(255,255,255,.06); }
.boundary-grid ul { padding-left: 20px; color: #dfe8e4; }
.boundary-grid li + li { margin-top: 9px; }

.diagnostic-section { max-width: 1160px; }
.app-shell { overflow: hidden; border: 1px solid #d2dad4; border-radius: 30px; background: var(--white); box-shadow: var(--shadow); }
.progress { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 24px 34px; border-bottom: 1px solid var(--line); list-style: none; }
.progress li { display: flex; align-items: center; gap: 10px; color: #8b9691; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.progress li span { display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid #bdc7c1; border-radius: 50%; }
.progress li.active { color: var(--green); }
.progress li.active span { color: white; border-color: var(--green); background: var(--green); }
.app-panel { padding: clamp(26px, 5vw, 54px); }
.panel-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 32px; }
.panel-title h3 { font-family: Georgia, serif; font-size: 32px; font-weight: 500; }
.kicker { margin-bottom: 7px; }
.privacy-chip { padding: 7px 12px; border-radius: 999px; color: var(--green); background: var(--green-soft); font-size: 11px; font-weight: 800; white-space: nowrap; }
.panel-intro { max-width: 720px; color: var(--muted); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.form-grid label > span, fieldset legend { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 800; }
label small { color: var(--muted); font-weight: 500; }
input, select { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #cbd3cd; border-radius: 10px; color: var(--ink); background: white; }
input:focus, select:focus { outline: 3px solid rgba(11,93,69,.13); border-color: var(--green); }
select[multiple] { min-height: 150px; }
fieldset { margin: 0; padding: 0; border: 0; }
.full { grid-column: 1 / -1; }
.choice { display: flex; align-items: center; gap: 9px; min-height: 34px; cursor: pointer; }
.choice input, .consent input { width: 18px; min-height: 18px; accent-color: var(--green); }
.choice span { margin: 0 !important; font-weight: 500 !important; }
.consent { display: flex; gap: 12px; margin: 26px 0; padding: 16px; border-radius: 12px; color: #54625e; background: #f3f5f2; font-size: 12px; }
.notice { margin: 18px 0; padding: 14px 16px; border-radius: 10px; font-size: 13px; }
.notice.error { color: #7c2521; border: 1px solid #e4b5b2; background: #fff0ef; }
.notice.success { color: var(--success); border: 1px solid #b8d8c9; background: #edf8f2; }
.template-links { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0; }
.template-links a { padding: 8px 12px; border-radius: 8px; color: var(--green); background: var(--green-soft); font-size: 12px; font-weight: 800; text-decoration: none; }
.drop-zone { display: grid; place-items: center; min-height: 220px; padding: 30px; border: 2px dashed #aebdb5; border-radius: 18px; background: #f8faf8; text-align: center; cursor: pointer; }
.drop-zone.dragging { border-color: var(--green); background: #eef8f3; }
.drop-zone input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.drop-icon { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 10px; border-radius: 50%; color: white; background: var(--green); font-weight: 900; }
.drop-zone small { margin-top: 5px; color: var(--muted); }
.file-list { margin: 18px 0; padding: 0; list-style: none; }
.file-list li { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.result-metrics { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 14px; margin: 26px 0; }
.result-metrics div { padding: 20px; border-radius: 15px; background: #f1f5f2; }
.result-metrics strong, .result-metrics span { display: block; }
.result-metrics strong { font-family: Georgia, serif; font-size: 30px; font-weight: 500; }
.result-metrics span { color: var(--muted); font-size: 11px; }
.paywall { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; margin-top: 25px; padding: 24px; border: 1px solid #bcd0c5; border-radius: 18px; background: linear-gradient(135deg, #f5fbf8, #e8f3ed); }
.paywall strong, .paywall span { display: block; }
.paywall-price { font-family: Georgia, serif; font-size: 28px; }
.mock-controls { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; padding: 15px; border: 1px solid #e3c99c; border-radius: 12px; background: #fff7e8; }
.mock-controls p { flex-basis: 100%; margin: 0; font-size: 12px; }
.detail-locked { filter: blur(4px); user-select: none; opacity: .5; }
.monitor-card { margin-top: 24px; padding: 24px; border-radius: 18px; color: white; background: var(--green-dark); }

.security-section { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(50px, 8vw, 110px); }
.security-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.security-grid article { padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,254,250,.64); }
.security-grid article > span { margin-bottom: 24px; }
.price-section { display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: center; }
.price-section h2 { margin-bottom: 8px; }
.price-section p:last-child { color: var(--muted); }
.price-card { min-width: 330px; padding: 30px; border-radius: 24px; color: white; background: var(--green); box-shadow: var(--shadow); }
.price-card > span, .price-card > strong, .price-card > small { display: block; }
.price-card > span { color: var(--mint); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.price-card > strong { margin: 5px 0; font-family: Georgia, serif; font-size: 38px; font-weight: 500; }
.price-card > small { margin-bottom: 22px; color: #d8eae2; }
.price-card .button { width: 100%; color: var(--green); background: white; box-shadow: none; }

footer { display: grid; grid-template-columns: minmax(220px, .9fr) minmax(0, 1.4fr) minmax(0, 1.8fr); gap: clamp(24px, 3vw, 48px); align-items: start; padding: 40px clamp(22px, 5vw, 76px); color: #eaded5; background: #2d070a; font-size: 11px; }
footer p { min-width: 0; margin: 0; line-height: 1.6; overflow-wrap: anywhere; }
.footer-brand { color: white; }

.admin-body { padding: 30px; background: #eff2ef; }
.admin-main { max-width: 1400px; margin: 0 auto; }
.admin-auth { display: flex; gap: 10px; margin: 25px 0; }
.admin-auth input { max-width: 520px; }
.admin-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 22px 0; }
.admin-cards article { padding: 18px; border-radius: 14px; background: white; }
.admin-cards strong { display: block; font-size: 26px; }
.table-wrap { overflow-x: auto; margin-top: 20px; border-radius: 16px; background: white; }
table { width: 100%; border-collapse: collapse; font-size: 12px; }
th, td { padding: 13px; border-bottom: 1px solid #e4e8e4; text-align: left; white-space: nowrap; }
th { color: var(--muted); background: #f8f9f7; }
.admin-funnel { display:grid; gap:8px; max-width:900px; margin:20px 0 40px; }
.funnel-row { display:grid; grid-template-columns:150px 1fr 50px; gap:12px; align-items:center; font-size:12px; }
.funnel-row div { height:12px; overflow:hidden; border-radius:999px; background:#dde4df; }
.funnel-row i { display:block; height:100%; border-radius:999px; background:var(--green); }
.admin-split { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:40px; }
.admin-split section { padding:20px; border-radius:16px; background:white; }
.admin-lines p { display:flex; justify-content:space-between; gap:15px; margin:0; padding:9px 0; border-top:1px solid var(--line); font-size:12px; }

[hidden] { display: none !important; }

@media (max-width: 900px) {
  nav > a:not(.button) { display: none; }
  .section-grid, .split-section, .security-section, .price-section { grid-template-columns: 1fr; }
  .hero { min-height: auto; }
  .signal-card { max-width: 620px; transform: none; }
  .steps { grid-template-columns: 1fr 1fr; }
  .proof-strip { grid-template-columns: 1fr 1fr; gap: 14px 0; }
  .proof-strip span:nth-child(3) { border-left: 0; }
  .price-card { min-width: 0; }
  footer { grid-template-columns: 1fr; gap: 18px; }
  .admin-cards { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
  .site-header { padding: 12px 16px; }
  .brand small, nav { display: none; }
  .section-grid, .content-section { padding-inline: 18px; }
  h1 { font-size: 46px; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .trust-list { display: block; }
  .trust-list li + li { margin-top: 7px; }
  .metric-grid, .result-metrics { grid-template-columns: 1fr; }
  .proof-strip { font-size: 11px; }
  .steps, .deliverable-list, .boundary-grid, .security-grid, .form-grid { grid-template-columns: 1fr; }
  .full { grid-column: auto; }
  .progress { padding: 16px 12px; }
  .progress li { justify-content: center; font-size: 0; }
  .progress li span { font-size: 12px; }
  .panel-title { display: block; }
  .privacy-chip { display: inline-block; margin-top: 8px; }
  .paywall { grid-template-columns: 1fr; }
  .admin-body { padding: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}

/* Tax Credit Engine extension */
.hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.65fr); gap:clamp(44px,7vw,100px); max-width:1280px; margin:auto; padding-top:48px; padding-inline:clamp(22px,5vw,76px); }
.hero-lead { max-width:760px; color:#52615c; font-size:clamp(18px,2vw,22px); }
.sanitiser-benefit { display:grid; gap:4px; width:100%; max-width:760px; margin:0 0 14px; padding:11px 15px; border:1px solid rgba(147,0,9,.18); border-radius:14px; color:var(--green); background:var(--green-soft); }
.sanitiser-benefit strong { font-size:12px; font-weight:900; letter-spacing:.08em; }
.sanitiser-benefit span { color:#5f3e39; font-size:12px; font-weight:700; }
.assurance-row { display:flex; flex-wrap:wrap; gap:12px 24px; color:var(--muted); font-size:12px; font-weight:750; }
.assurance-row span::before { content:"\2022"; margin-right:8px; color:var(--green); }
.desktop-continuation { margin-top:13px; padding:0; border:0; color:var(--green); background:transparent; font-size:13px; font-weight:800; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.hero-card { padding:clamp(25px,3vw,38px); border:1px solid rgba(23,35,31,.08); border-radius:28px; background:var(--white); box-shadow:var(--shadow); }
.card-label { margin-bottom:24px; color:var(--green); font:800 11px/1 ui-monospace,monospace; letter-spacing:.12em; text-transform:uppercase; }
.classification { display:grid; grid-template-columns:12px 1fr; gap:13px; padding:18px 0; border-top:1px solid var(--line); }
.classification strong,.classification small { display:block; }
.classification small { margin-top:4px; color:var(--muted); }
.dot { width:9px; height:9px; margin-top:7px; border-radius:50%; }
.dot.cash { background:#2a8b69; }.dot.offset { background:#3974a8; }.dot.restricted { background:#c47c2b; }.dot.evidence { background:#9d4b53; }
.section,.workspace,.privacy-section,.pricing-section { max-width:1280px; margin:auto; padding:clamp(80px,10vw,140px) clamp(22px,5vw,76px); }
.section > h2,.workspace-head h2,.privacy-section h2,.pricing-section h2,.module-band h2 { max-width:850px; }
.module-band { display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(45px,7vw,90px); padding:clamp(75px,9vw,120px) max(clamp(22px,5vw,76px),calc((100vw - 1280px)/2 + 76px)); color:white; background:var(--green-dark); }
.module-band .eyebrow { color:var(--mint); }
.module-band p:last-child { color:#cfddd7; }
.module-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.module-grid article { min-height:116px; padding:22px; border:1px solid rgba(255,255,255,.14); border-radius:18px; background:rgba(255,255,255,.05); }
.module-grid article.active { background:rgba(159,214,189,.11); }
.module-grid span,.module-grid strong { display:block; }
.module-grid span { margin-bottom:18px; color:var(--mint); font:800 10px/1 ui-monospace,monospace; text-transform:uppercase; }
.workspace { max-width:1160px; }
.workspace-head { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:34px; }
.progress { display:flex; gap:8px; padding:0; border:0; }
.progress span { padding:7px 10px; border-radius:999px; color:#88948f; background:#e8ebe7; font-size:10px; font-weight:800; text-transform:uppercase; }
.progress span.active { color:white; background:var(--green); }
.panel { padding:clamp(26px,5vw,52px); border:1px solid #d2dad4; border-radius:28px; background:var(--white); box-shadow:var(--shadow); }
.panel-heading { display:flex; justify-content:space-between; gap:20px; align-items:start; }
.local-badge { padding:8px 12px; border-radius:999px; color:var(--green); background:var(--green-soft); font-size:11px; font-weight:800; white-space:nowrap; }
.evaluation-scope { padding:12px 15px; border-left:3px solid var(--amber); color:#554c43; background:#f8f0df; font-size:13px; }
.evaluation-scope strong { color:var(--green); }
.form-grid label { display:grid; gap:8px; font-size:13px; font-weight:800; }
fieldset { margin-top:26px; }
.checks { display:flex; flex-wrap:wrap; gap:9px; }
.checks label { display:flex; align-items:center; gap:8px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:white; font-size:12px; cursor:pointer; }
.checks input,.consent input { width:17px; min-height:17px; accent-color:var(--green); }
.consent span { flex:1; }
.drop-zone strong,.drop-zone span { display:block; }
.drop-zone span { color:var(--muted); font-size:12px; }
.template-links > span { align-self:center; color:var(--muted); font-size:12px; font-weight:800; }
.privacy-preview { margin:24px 0; padding:22px; border:1px solid #d7bdb7; border-radius:18px; background:#fbf4ef; }
.privacy-stopline { margin:0 0 8px; color:#7c2521; font-size:12px; font-weight:900; letter-spacing:.08em; }
.leak-result { margin:12px 0; padding:13px 15px; border:1px solid #91c0a7; border-radius:12px; color:var(--green-dark); background:#e8f5ed; font-size:12px; font-weight:900; }
.derivative-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:16px 0; }
.derivative-gallery article { display:grid; gap:8px; min-width:0; padding:14px; border:1px solid var(--line); border-radius:12px; background:white; }
.derivative-gallery strong,.derivative-gallery span { overflow-wrap:anywhere; }
.derivative-gallery span { color:var(--muted); font-size:11px; }
.derivative-gallery .button { width:max-content; max-width:100%; }
.vault-controls { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:28px 0; padding:20px; border:1px solid #c5d4cc; border-radius:16px; background:#f6f8f6; }
.vault-controls > div { width:100%; font-weight:900; }
.report-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:16px; }
.historical-report { display:grid; grid-template-columns:minmax(180px,1fr) minmax(150px,.5fr) minmax(280px,1.5fr); gap:14px; align-items:center; margin-top:10px; padding:16px; border:1px solid var(--line); border-radius:14px; }
.historical-report .report-actions { margin-top:0; }
.manifest-grid,.value-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:18px 0; }
.manifest-grid div,.value-grid div { padding:14px; border-radius:12px; background:white; }
.manifest-grid strong,.manifest-grid span,.value-grid strong,.value-grid span { display:block; }
.manifest-grid strong,.value-grid strong { font-size:17px; }
.manifest-grid span,.value-grid span { color:var(--muted); font-size:10px; }
.preview-compare { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:12px 0; }
.preview-compare > div { min-width:0; }
.preview-compare pre { max-height:200px; overflow:auto; padding:14px; border:1px solid var(--line); border-radius:10px; color:#30433c; background:#fbfcfa; font:11px/1.45 ui-monospace,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
.notice.warning { color:#745018; border:1px solid #e3c98e; background:#fff8e8; }
.result-metrics { grid-template-columns:repeat(4,1fr); }
.pricing-audit { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:20px 0; padding:18px; border:1px solid var(--line); border-radius:14px; background:#f8f9f7; }
.pricing-audit strong { grid-column:1/-1; }
.pricing-audit span { color:var(--muted); font-size:11px; }
.route-card { margin-top:24px; padding:28px; border-radius:20px; }
.route-card.free { border:1px solid #d7bf89; background:linear-gradient(135deg,#fffaf1,#f1e5cc); }
.route-card.paid { border:1px solid #d7b7b8; background:linear-gradient(135deg,#fff9f5,#f1dfdc); }
.route-card.blocked { border:1px solid #e0c7a2; background:#fff8eb; }
.route-card .button { margin-top:8px; }
.monitor-card { color:white; }
.privacy-section { max-width:none; color:white; background:#2d070a; }
.privacy-section > div,.privacy-section > p { max-width:1128px; margin-left:auto; margin-right:auto; }
.privacy-section .eyebrow { color:var(--mint); }
.privacy-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; margin-top:35px; }
.privacy-grid article { padding:24px; border:1px solid rgba(255,255,255,.13); border-radius:18px; background:rgba(255,255,255,.04); }
.privacy-grid strong { color:var(--mint); font:800 11px/1 ui-monospace,monospace; }
.privacy-grid p,.boundary { color:#c7d7d0; font-size:13px; }
.boundary { margin-top:22px!important; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); }
.public-scale { margin:0 0 24px; padding:20px; border:1px solid #d9c49b; border-radius:16px; background:#fffaf0; }
.public-scale strong,.public-scale span,.public-scale small { display:block; }
.public-scale strong { color:var(--green); font:600 clamp(31px,3.7vw,48px)/.98 Georgia,serif; letter-spacing:-.045em; text-transform:uppercase; }
.public-scale span { margin-top:10px; color:var(--ink); }
.public-scale .scale-context { font-size:14px; font-weight:900; letter-spacing:.045em; line-height:1.25; text-transform:uppercase; }
.public-scale .scale-question { margin-top:20px; font:600 clamp(20px,2.3vw,29px)/1.08 Georgia,serif; letter-spacing:-.025em; }
.public-scale .scale-free { color:var(--green); font-size:14px; font-weight:900; letter-spacing:.055em; text-transform:uppercase; }
.public-scale small { margin-top:10px; color:var(--muted); font-size:10px; line-height:1.45; }
.public-scale a { color:var(--green); font-weight:800; }
.multijuris-section { padding-top:72px; padding-bottom:72px; }
.multijuris-section > div { padding:clamp(30px,5vw,58px); border:1px solid #dac9b7; border-radius:26px; background:linear-gradient(135deg,#fffaf1,#f2e4dc); box-shadow:var(--shadow); }
.section-lead { max-width:850px; color:var(--ink); font:500 clamp(22px,3vw,32px)/1.25 Georgia,serif; }
.pain-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin:30px 0; }
.pain-grid article { padding:22px; border-top:3px solid var(--amber); background:rgba(255,253,248,.78); }
.pain-grid strong,.pain-grid span { display:block; }
.pain-grid strong { color:var(--green); }
.pain-grid span { margin-top:7px; color:var(--muted); font-size:13px; }
.legal-main { max-width:920px; min-height:70vh; margin:auto; padding:80px 24px 120px; }
.legal-main h1 { font-size:clamp(42px,6vw,68px); }
.legal-main h2 { margin-top:48px; font-size:32px; }
.legal-main .source-card { margin:24px 0; padding:24px; border-left:4px solid var(--amber); background:var(--white); }
.legal-main li + li { margin-top:8px; }
.legal-back { display:inline-block; margin-bottom:38px; color:var(--green); font-weight:800; }
.standalone-note { display:flex; justify-content:space-between; align-items:center; gap:18px; max-width:1128px; margin:20px auto 0; padding:16px 0 0; border-top:1px solid var(--line); }
.standalone-note p { margin:0; color:var(--muted); font-size:12px; }
.standalone-note p strong,.standalone-note p span { display:block; }
.standalone-note p strong { color:var(--ink); }
.privacy-section .standalone-note { border-top-color:rgba(255,255,255,.14); }
.privacy-section .standalone-note p { color:#c7d7d0; }
.privacy-section .standalone-note p strong { color:white; }
.pricing-section { display:grid; grid-template-columns:1fr 1fr; gap:clamp(45px,7vw,90px); }
.tiers { display:grid; gap:10px; }
.tiers article { padding:20px; border:1px solid var(--line); border-radius:16px; background:var(--white); }
.tiers span,.tiers strong,.tiers small { display:block; }
.tiers span { color:var(--green); font-size:11px; font-weight:850; text-transform:uppercase; }
.tiers strong { margin:4px 0; font:500 25px/1.2 Georgia,serif; }
.tiers small { color:var(--muted); }

@media(max-width:900px){.hero,.module-band,.pricing-section{grid-template-columns:1fr}.hero{padding-top:80px}.hero-card{max-width:650px}.workspace-head{display:block}.progress{margin-top:20px}.privacy-grid{grid-template-columns:1fr 1fr}.manifest-grid,.value-grid,.result-metrics{grid-template-columns:1fr 1fr}.pain-grid{grid-template-columns:1fr}nav a:not(.nav-cta){display:none}footer{grid-template-columns:1fr;gap:20px}}
@media(max-width:620px){.hero,.section,.workspace,.pricing-section{padding-inline:18px}.module-band{padding-inline:18px}.hero h1{font-size:44px}.module-grid,.privacy-grid,.preview-compare,.manifest-grid,.value-grid,.result-metrics,.pricing-audit,.derivative-gallery{grid-template-columns:1fr}.progress{display:grid;grid-template-columns:1fr 1fr}.panel-heading{display:block}.local-badge{display:inline-block;margin-bottom:15px}.historical-report{grid-template-columns:1fr}.standalone-note{align-items:flex-start;flex-direction:column}}

@media(max-width:900px){.hero{gap:40px;padding-top:38px}.hero-copy{max-width:720px}.hero-actions{margin:18px 0 12px}.hero-security{margin:14px 0 0}.sanitiser-benefit{margin-bottom:10px}.hero-card{margin-top:6px}}
@media(min-width:901px){.hero-copy{transform:translateY(-16px)}}
@media(max-width:620px){.hero{padding-top:22px;padding-bottom:64px}.hero h1{margin-bottom:14px;font-size:clamp(34px,10.5vw,42px);line-height:1}.hero-lead{margin-bottom:12px;font-size:16px;line-height:1.42}.sanitiser-benefit{padding:9px 11px}.sanitiser-benefit strong{font-size:10px;line-height:1.35}.sanitiser-benefit span{font-size:11px;line-height:1.35}.hero-actions{align-items:stretch;gap:9px;margin:12px 0 9px}.hero-actions .button{min-height:46px}.hero-actions .text-link{text-align:center;font-size:12px}.assurance-row{justify-content:center;gap:6px 14px}.desktop-continuation{display:block;width:100%;text-align:center}.hero-security{font-size:11px;line-height:1.35;padding:9px 11px}.hero-security strong{display:inline}.hero-card{display:none}}

/* Customer tax-credit control centre */
.portal-body { min-height:100vh; background:#f7f2e8; }
.portal-header { display:flex; justify-content:space-between; align-items:center; padding:16px clamp(20px,4vw,56px); border-bottom:1px solid #dacdc0; background:rgba(255,253,248,.95); }
.portal-main { max-width:1440px; margin:auto; padding:clamp(30px,6vw,72px) clamp(18px,4vw,56px); }
.portal-auth-card { max-width:760px; margin:6vh auto; padding:clamp(28px,5vw,56px); border:1px solid var(--line); border-radius:28px; background:var(--white); box-shadow:var(--shadow); }
.portal-auth-card h1,.portal-title h1 { font-size:clamp(42px,5vw,70px); }
#magic-form { display:flex; gap:12px; align-items:end; margin-top:28px; }
#magic-form label { flex:1; font-size:13px; font-weight:800; }
.portal-title { display:flex; justify-content:space-between; gap:40px; align-items:end; }
.portal-title > label { min-width:320px; font-size:12px; font-weight:800; }
.portal-tabs { display:flex; gap:8px; margin:30px 0 20px; overflow-x:auto; }
.portal-tabs button { padding:12px 17px; border:0; border-radius:999px; color:#675d55; background:#eee2d7; font-weight:800; white-space:nowrap; cursor:pointer; }
.portal-tabs button.active { color:white; background:var(--green); }
.portal-view { min-height:500px; padding:clamp(24px,4vw,44px); border:1px solid #dacdc0; border-radius:26px; background:var(--white); box-shadow:0 20px 60px rgba(74,31,25,.08); }
.portal-section-title { max-width:880px; margin-bottom:30px; }
.portal-section-title h2 { font-size:clamp(34px,4vw,52px); }
.portal-section-title > p:last-child { color:var(--muted); }
.portal-metrics { display:grid; grid-template-columns:repeat(6,1fr); gap:10px; margin:20px 0 28px; }
.portal-metric { min-width:0; padding:18px; border-radius:14px; background:#f5eae3; }
.portal-metric strong,.portal-metric span { display:block; }
.portal-metric strong { font:500 clamp(18px,2vw,27px)/1.1 Georgia,serif; overflow-wrap:anywhere; }
.portal-metric span { margin-top:6px; color:var(--muted); font-size:10px; text-transform:uppercase; }
.portal-breakdowns { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:28px; }
.portal-breakdown { min-width:0; padding:18px; border:1px solid var(--line); border-radius:16px; }
.portal-breakdown .table-wrap { margin:0; }
.portal-upload { display:grid; gap:12px; margin-top:28px; padding:24px; border:1px solid #d7b7b8; border-radius:18px; background:#fbf1ed; }
.portal-upload input { padding:10px; background:white; }
.portal-upload .button { width:max-content; }
.report-library { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:28px; }
.report-library article { padding:24px; border:1px solid var(--line); border-radius:18px; background:#faf5ec; }
.portal-empty { padding:30px; border:1px dashed #b8c4bd; border-radius:16px; color:var(--muted); text-align:center; }
.portal-legal { margin:34px auto 0; color:var(--muted); font-size:11px; text-align:center; }
.portal-legal a { color:var(--green); font-weight:800; }
@media(max-width:1000px){.portal-metrics{grid-template-columns:repeat(3,1fr)}.portal-breakdowns{grid-template-columns:1fr}.portal-title{display:block}.portal-title>label{display:block;min-width:0;max-width:500px;margin-top:20px}}
@media(max-width:620px){.portal-header .brand small{display:block}.portal-main{padding-inline:12px}.portal-auth-card,.portal-view{border-radius:18px}.portal-metrics{grid-template-columns:1fr 1fr}.report-library{grid-template-columns:1fr}#magic-form{align-items:stretch;flex-direction:column}.portal-tabs{margin-inline:-12px;padding-inline:12px}}

/* Accountant acquisition front door: isolated from the company evaluation flow. */
.accountant-body { background:#f7f2e8; }
.accountant-hero { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(320px,.72fr); gap:clamp(36px,7vw,92px); max-width:1280px; margin:auto; padding:clamp(72px,10vw,138px) clamp(22px,5vw,76px) clamp(74px,9vw,126px); align-items:center; }
.accountant-hero h1 { max-width:850px; font-size:clamp(46px,6.1vw,82px); }
.accountant-hero-card { padding:clamp(28px,4vw,44px); border:1px solid #d7b7b8; border-radius:26px; color:#fff; background:#5b050a; box-shadow:0 22px 62px rgba(74,31,25,.18); }
.accountant-hero-card .eyebrow { color:#e7c887; }
.accountant-hero-card ul { margin:9px 0 28px; padding-left:19px; color:#f3e8dc; }
.accountant-hero-card li + li { margin-top:9px; }
.accountant-band { max-width:1280px; padding-top:0; }
.accountant-steps article { background:#fffdf8; }
.accountant-proof { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(36px,7vw,90px); max-width:none; color:#fff; background:#263d35; }
.accountant-proof > div { max-width:610px; }
.accountant-proof .eyebrow { color:#d8c18b; }
.accountant-proof p { color:#d8e4de; }
.accountant-proof-list { display:grid; align-content:center; gap:8px; padding:28px; border:1px solid rgba(255,255,255,.15); border-radius:20px; background:rgba(255,255,255,.05); }
.accountant-proof-list strong { margin-top:12px; color:#d8c18b; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.accountant-proof-list span { color:#e8f0ed; }
.accountant-privacy { max-width:none; color:#fff; background:#2d070a; }
.accountant-privacy .eyebrow { color:#e7c887; }
.accountant-privacy p { max-width:850px; color:#eadfd4; font-size:18px; }
.accountant-privacy .text-link { color:#fff; }
.accountant-pilot { display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(36px,7vw,90px); max-width:1280px; align-items:start; }
.accountant-pilot-copy p { color:var(--muted); }
.accountant-form { display:grid; gap:18px; padding:clamp(26px,4vw,42px); }
.accountant-form fieldset { display:grid; gap:10px; margin:0; padding:16px; border:1px solid var(--line); border-radius:14px; }
.accountant-form legend { padding:0 6px; color:var(--muted); font-size:11px; font-weight:800; }
.accountant-form .button { justify-self:start; }
.form-status { min-height:1.5em; margin:0; color:var(--green); font-size:13px; font-weight:800; }
.small-note { font-size:13px; }
@media(max-width:900px){.accountant-hero,.accountant-proof,.accountant-pilot{grid-template-columns:1fr}.accountant-hero{padding-top:58px}.accountant-proof{padding-inline:clamp(22px,5vw,76px)}.accountant-proof>div{max-width:none}}
@media(max-width:620px){.accountant-hero,.accountant-pilot{padding-inline:18px}.accountant-hero h1{font-size:clamp(38px,11vw,52px)}.accountant-hero-card{padding:24px}.accountant-form .button{width:100%}}

/* Representative production-report previews */
.sample-reports-section { max-width:1280px; margin:0 auto; padding:clamp(86px,10vw,138px) clamp(22px,5vw,76px); }
.sample-reports-heading { max-width:980px; margin-bottom:46px; }
.sample-reports-heading h2 { max-width:900px; }
.free-paid-contrast { display:grid; grid-template-columns:1fr 1.25fr; gap:14px; margin:28px 0 18px; }
.free-paid-contrast p { min-width:0; margin:0; padding:20px; border:1px solid var(--line); border-radius:16px; background:var(--white); }
.free-paid-contrast strong,.free-paid-contrast span { display:block; }
.free-paid-contrast strong { margin-bottom:6px; color:var(--green); font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
.free-paid-contrast span,.sample-illustrative { color:var(--muted); font-size:14px; }
.sample-report-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:start; }
.sample-report-card { position:relative; min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:24px; background:var(--white); box-shadow:0 18px 48px rgba(74,31,25,.08); }
.sample-cover { position:relative; }
.sample-cover > span { position:absolute; z-index:1; left:14px; top:14px; padding:7px 10px; border-radius:999px; background:rgba(101,0,6,.92); color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; box-shadow:0 5px 18px rgba(45,42,38,.18); }
.sample-cover { max-height:350px; overflow:hidden; border-bottom:1px solid var(--line); background:#e8ddd0; }
.sample-cover img { display:block; width:100%; height:auto; }
.sample-card-copy { padding:24px; }
.sample-card-copy h3 { min-height:48px; font:600 24px/1.08 Georgia,serif; }
.sample-card-copy .sample-tier { color:var(--muted); font-size:13px; }
.sample-card-copy ul { min-height:118px; margin:20px 0; padding-left:20px; color:var(--muted); font-size:13px; }
.sample-card-copy li + li { margin-top:5px; }
.sample-card-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.sample-card-actions .button { min-height:42px; padding-inline:18px; font-size:13px; }
.sample-card-actions .text-link { font-size:13px; }
.sample-pricing-note { display:grid; grid-template-columns:.72fr 1.28fr; gap:24px; margin-top:34px; padding:24px; border-left:4px solid var(--amber); background:#fffaf0; }
.sample-pricing-note strong,.sample-pricing-note span { display:block; }
.sample-pricing-note span { color:var(--muted); font-size:14px; }
.decision-sample { display:grid; grid-template-columns:112px minmax(0,1fr); gap:18px; margin:24px 0; padding:18px; border:1px solid #d9c49b; border-radius:18px; color:var(--ink); background:#fffaf0; }
.decision-sample img { display:block; width:112px; height:auto; border:1px solid #d9c49b; border-radius:8px; }
.decision-sample h4 { margin:0 0 7px; font:600 21px/1.12 Georgia,serif; }
.decision-sample p:not(.eyebrow) { margin-bottom:12px; color:var(--muted); font-size:13px; }
.decision-sample-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.decision-sample-actions .button { margin:0; }
.sample-viewer-main { max-width:1220px; margin:auto; padding:clamp(48px,7vw,86px) clamp(20px,5vw,60px) 110px; }
.sample-viewer-intro { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(260px,.65fr); gap:clamp(36px,7vw,88px); align-items:start; }
.sample-viewer-intro h1 { max-width:800px; font-size:clamp(44px,6vw,72px); }
.sample-viewer-lead { max-width:760px; color:var(--muted); font-size:20px; }
.sample-disclaimer { max-width:760px; padding:16px; border-left:3px solid var(--amber); background:#fffaf0; font-size:13px; }
.sample-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.sample-facts { margin:0; border:1px solid var(--line); border-radius:20px; background:var(--white); overflow:hidden; }
.sample-facts div { padding:18px 20px; }
.sample-facts div + div { border-top:1px solid var(--line); }
.sample-facts dt { color:var(--muted); font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.sample-facts dd { margin:4px 0 0; font:600 22px/1.15 Georgia,serif; }
.sample-page-section { padding-top:90px; }
.sample-page-section > p { max-width:700px; color:var(--muted); }
.sample-pages-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:30px; }
.sample-pages-grid figure { min-width:0; margin:0; }
.sample-pages-grid img { display:block; width:100%; height:auto; border:1px solid var(--line); border-radius:10px; background:white; box-shadow:0 16px 38px rgba(74,31,25,.1); }
.sample-pages-grid figcaption { padding-top:8px; color:var(--muted); font-size:11px; text-align:center; }
.sample-methodology-note { display:grid; grid-template-columns:.85fr 1.15fr; gap:48px; margin-top:90px; padding:40px; border-radius:24px; color:white; background:#2d070a; }
.sample-methodology-note h2 { margin:0; font-size:clamp(32px,4vw,46px); }
.sample-methodology-note p { color:#e5d8cd; }
.sample-methodology-note strong { color:#d8bf8c; }
@media(max-width:1000px){.sample-report-grid{grid-template-columns:1fr 1fr}.sample-report-card:last-child{grid-column:1/-1;max-width:600px}.sample-pages-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.sample-reports-section{padding-inline:18px}.free-paid-contrast,.sample-report-grid,.sample-pricing-note,.sample-viewer-intro,.sample-methodology-note{grid-template-columns:1fr}.sample-report-card:last-child{grid-column:auto}.sample-card-copy h3,.sample-card-copy ul{min-height:0}.decision-sample{grid-template-columns:74px minmax(0,1fr);padding:14px}.decision-sample img{width:74px}.decision-sample-actions{align-items:flex-start;flex-direction:column;gap:10px}.sample-pages-grid{grid-template-columns:1fr 1fr;gap:10px}.sample-methodology-note{padding:26px}.sample-viewer-main{padding-inline:16px}}
