.sap-root {
  --bg:#F7F9FC;
  --card:#FFFFFF;
  --border:#E6E9F0;
  --border-soft:#EEF1F6;
  --ink:#0F1729;
  --ink-soft:#5B6478;
  --ink-faint:#8A93A6;
  --primary:#1D4ED8;
  --primary-deep:#1E3A8A;
  --primary-tint:#EAF1FF;
  --accent:#7C3AED;
  --accent-tint:#F3ECFF;
  --success:#16A34A;
  --success-tint:#E8F8EE;
  --warning:#D97706;
  --warning-tint:#FEF3E2;
  --critical:#DC2626;
  --critical-tint:#FCEAEA;
  --shadow-sm:0 1px 2px rgba(15,23,41,0.04);
  --shadow-md:0 4px 16px rgba(15,23,41,0.06);
  --shadow-lg:0 16px 40px rgba(15,23,41,0.10);
  --radius:14px;
  --radius-sm:10px;
  --font-display:'Plus Jakarta Sans', sans-serif;
  --font-body:'Inter', sans-serif;
}
.sap-root * {box-sizing:border-box; margin:0; padding:0;}
.sap-root {
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  scroll-behavior:smooth;
}.sap-root img, .sap-root svg {display:block; max-width:100%;}.sap-root button {font-family:inherit; cursor:pointer;}.sap-root input {font-family:inherit;}.sap-root a {color:inherit;}.sap-root .wrap {
  max-width:1080px;
  margin:0 auto;
  padding:0 24px;
}.sap-root /* ===== Reduced Motion ===== */
@media (prefers-reduced-motion: reduce) {
  *{animation-duration:0.01ms !important; transition-duration:0.01ms !important;}
}.sap-root /* ===== Top bar ===== */
.topbar {
  border-bottom:1px solid var(--border-soft);
  background:rgba(247,249,252,0.85);
  backdrop-filter:blur(8px);
  position:sticky;
  top:0;
  z-index:50;
}.sap-root .topbar-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 24px;
  max-width:1080px;
  margin:0 auto;
}.sap-root .brand {
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:16px;
  letter-spacing:-0.01em;
}.sap-root .brand-mark {
  width:30px; height:30px;
  border-radius:8px;
  background:linear-gradient(135deg, var(--primary), var(--accent));
  display:flex; align-items:center; justify-content:center;
}.sap-root .brand-mark svg {width:16px;height:16px;}.sap-root .topbar-badge {
  display:flex; align-items:center; gap:6px;
  font-size:12.5px; color:var(--ink-soft);
  background:var(--card);
  border:1px solid var(--border);
  padding:6px 12px;
  border-radius:100px;
}.sap-root .pulse-dot {
  width:6px; height:6px; border-radius:50%;
  background:var(--success);
  position:relative;
}.sap-root .pulse-dot::after {
  content:'';
  position:absolute; inset:0;
  border-radius:50%;
  background:var(--success);
  animation:pulse 1.8s ease-out infinite;
}@keyframes pulse{
  0%{transform:scale(1); opacity:0.7;}
  100%{transform:scale(2.6); opacity:0;}
}.sap-root /* ===== Hero ===== */
.hero {
  padding:72px 0 56px;
  text-align:center;
  position:relative;
}.sap-root .hero-eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:600;
  color:var(--primary);
  background:var(--primary-tint);
  padding:7px 14px;
  border-radius:100px;
  margin-bottom:24px;
}.sap-root .hero h1 {
  font-family:var(--font-display);
  font-size:clamp(32px, 5vw, 52px);
  line-height:1.1;
  letter-spacing:-0.02em;
  font-weight:800;
  max-width:780px;
  margin:0 auto 18px;
  color:var(--ink);
}.sap-root .hero h1 .grad {
  background:linear-gradient(135deg, var(--primary-deep), var(--accent));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}.sap-root .hero p {
  font-size:17px;
  color:var(--ink-soft);
  max-width:560px;
  margin:0 auto 36px;
  line-height:1.6;
}.sap-root .audit-form {
  max-width:600px;
  margin:0 auto;
  display:flex;
  gap:10px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  padding:8px;
  box-shadow:var(--shadow-md);
}.sap-root .audit-form input {
  flex:1;
  border:none;
  outline:none;
  font-size:15.5px;
  padding:14px 16px;
  background:transparent;
  color:var(--ink);
  min-width:0;
}.sap-root .audit-form input::placeholder {color:var(--ink-faint);}.sap-root .btn-primary {
  border:none;
  background:linear-gradient(135deg, var(--primary), var(--primary-deep));
  color:#fff;
  font-weight:600;
  font-size:15.5px;
  padding:14px 26px;
  border-radius:11px;
  display:flex; align-items:center; gap:8px;
  white-space:nowrap;
  transition:transform 0.15s ease, box-shadow 0.15s ease;
  box-shadow:0 6px 16px rgba(29,78,216,0.25);
}.sap-root .btn-primary:hover {transform:translateY(-1px); box-shadow:0 8px 22px rgba(29,78,216,0.32);}.sap-root .btn-primary:active {transform:translateY(0);}.sap-root .btn-primary:disabled {opacity:0.6; cursor:not-allowed; transform:none;}.sap-root .form-error {
  color:var(--critical);
  font-size:13.5px;
  margin-top:12px;
  display:none;
}.sap-root .trust-row {
  display:flex; flex-wrap:wrap; justify-content:center; gap:10px;
  margin-top:28px;
}.sap-root .trust-pill {
  display:flex; align-items:center; gap:7px;
  font-size:13px; color:var(--ink-soft);
  background:var(--card);
  border:1px solid var(--border-soft);
  padding:8px 14px;
  border-radius:100px;
}.sap-root .trust-pill svg {width:14px; height:14px; color:var(--success); flex-shrink:0;}.sap-root /* ===== Loading ===== */
.loading-panel {
  max-width:640px;
  margin:40px auto 0;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:36px 32px;
  box-shadow:var(--shadow-md);
  display:none;
}.sap-root .loading-head {
  display:flex; align-items:center; gap:12px;
  margin-bottom:28px;
}.sap-root .spinner {
  width:22px; height:22px;
  border-radius:50%;
  border:3px solid var(--primary-tint);
  border-top-color:var(--primary);
  animation:spin 0.8s linear infinite;
  flex-shrink:0;
}@keyframes spin{to{transform:rotate(360deg);}}.sap-root .loading-title {font-family:var(--font-display); font-weight:700; font-size:16px;}.sap-root .loading-sub {font-size:13px; color:var(--ink-faint); margin-top:2px;}.sap-root .loading-steps {display:flex; flex-direction:column; gap:16px;}.sap-root .lstep {
  display:flex; align-items:center; gap:12px;
  font-size:14.5px; color:var(--ink-faint);
  opacity:0.5;
  transition:opacity 0.3s ease, color 0.3s ease;
}.sap-root .lstep.active {opacity:1; color:var(--ink);}.sap-root .lstep.done {opacity:1; color:var(--ink-soft);}.sap-root .lstep-icon {
  width:22px; height:22px; border-radius:50%;
  border:2px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
  transition:all 0.3s ease;
}.sap-root .lstep.active .lstep-icon {border-color:var(--primary);}.sap-root .lstep.done .lstep-icon {background:var(--success); border-color:var(--success);}.sap-root .lstep.done .lstep-icon svg {width:11px; height:11px; color:#fff;}.sap-root .lstep.active .lstep-icon::after {
  content:''; width:8px; height:8px; border-radius:50%;
  background:var(--primary);
  animation:pulse 1.2s ease-out infinite;
}.sap-root .progress-track {
  height:6px; border-radius:100px;
  background:var(--border-soft);
  margin-top:24px;
  overflow:hidden;
}.sap-root .progress-fill {
  height:100%; border-radius:100px;
  background:linear-gradient(90deg, var(--primary), var(--accent));
  width:0%;
  transition:width 0.5s ease;
}.sap-root .progress-pct {
  text-align:right; font-size:13px; color:var(--ink-faint);
  margin-top:8px; font-weight:600;
}.sap-root /* ===== Results ===== */
.results {display:none; padding-bottom:80px;}.sap-root .results-url {
  text-align:center;
  font-size:13.5px;
  color:var(--ink-faint);
  margin-top:48px;
  margin-bottom:8px;
}.sap-root .results-url strong {color:var(--ink-soft); font-weight:600;}.sap-root .score-hero {
  display:flex; flex-direction:column; align-items:center;
  padding:28px 0 8px;
}.sap-root .score-ring-wrap {position:relative; width:200px; height:200px;}.sap-root .score-ring-wrap svg {width:200px; height:200px; transform:rotate(-90deg);}.sap-root .score-ring-bg {fill:none; stroke:var(--border-soft); stroke-width:12;}.sap-root .score-ring-fg {
  fill:none; stroke-width:12; stroke-linecap:round;
  stroke-dasharray:565.48;
  stroke-dashoffset:565.48;
  transition:stroke-dashoffset 1.4s cubic-bezier(.16,1,.3,1), stroke 0.4s ease;
}.sap-root .score-ring-center {
  position:absolute; inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
}.sap-root .score-num {font-family:var(--font-display); font-size:48px; font-weight:800; letter-spacing:-0.02em; line-height:1;}.sap-root .score-max {font-size:13px; color:var(--ink-faint); margin-top:2px;}.sap-root .score-label {
  margin-top:18px;
  font-size:14px; font-weight:600;
  padding:7px 16px; border-radius:100px;
}.sap-root .score-sub {
  margin-top:10px;
  font-size:13.5px; color:var(--ink-soft);
  max-width:420px; text-align:center;
}.sap-root /* status colors */
.status-excellent {color:var(--success); background:var(--success-tint);}.sap-root .status-good {color:#2563EB; background:var(--primary-tint);}.sap-root .status-needs {color:var(--warning); background:var(--warning-tint);}.sap-root .status-critical {color:var(--critical); background:var(--critical-tint);}.sap-root /* score cards grid */
.section-head {
  display:flex; align-items:baseline; justify-content:space-between;
  margin:56px 0 18px;
  flex-wrap:wrap; gap:8px;
}.sap-root .section-head h2 {
  font-family:var(--font-display);
  font-size:21px; font-weight:700; letter-spacing:-0.01em;
}.sap-root .section-head p {font-size:13.5px; color:var(--ink-faint);}.sap-root .card-grid {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:14px;
}@media (max-width:900px) {.sap-root .card-grid {grid-template-columns:repeat(2,1fr);}}@media (max-width:520px) {.sap-root .card-grid {grid-template-columns:1fr;}}.sap-root .score-card {
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:20px;
  transition:transform 0.2s ease, box-shadow 0.2s ease;
}.sap-root .score-card:hover {transform:translateY(-2px); box-shadow:var(--shadow-md);}.sap-root .score-card-top {display:flex; align-items:center; justify-content:space-between; margin-bottom:14px;}.sap-root .score-card-icon {
  width:34px; height:34px; border-radius:9px;
  display:flex; align-items:center; justify-content:center;
}.sap-root .score-card-icon svg {width:17px; height:17px;}.sap-root .score-card-name {font-size:13px; color:var(--ink-soft); font-weight:600; margin-bottom:2px;}.sap-root .score-card-val {font-family:var(--font-display); font-size:28px; font-weight:800; letter-spacing:-0.02em;}.sap-root .score-card-bar {height:5px; border-radius:100px; background:var(--border-soft); margin-top:12px; overflow:hidden;}.sap-root .score-card-bar-fill {height:100%; border-radius:100px; width:0%; transition:width 1s cubic-bezier(.16,1,.3,1);}.sap-root .score-card-tag {font-size:11.5px; font-weight:600; margin-top:10px; display:inline-block; padding:3px 9px; border-radius:6px;}.sap-root /* charts row */
.charts-row {display:grid; grid-template-columns:1.1fr 1fr; gap:16px;}@media (max-width:800px) {.sap-root .charts-row {grid-template-columns:1fr;}}.sap-root .chart-card {
  background:var(--card); border:1px solid var(--border); border-radius:var(--radius);
  padding:24px;
}.sap-root .chart-card h3 {font-family:var(--font-display); font-size:15px; font-weight:700; margin-bottom:4px;}.sap-root .chart-card .chart-sub {font-size:12.5px; color:var(--ink-faint); margin-bottom:16px;}.sap-root /* issues */
.issue-list {display:flex; flex-direction:column; gap:10px;}.sap-root .issue-card {
  background:var(--card); border:1px solid var(--border); border-radius:var(--radius-sm);
  padding:18px 20px;
  display:flex; gap:16px; align-items:flex-start;
}.sap-root .issue-sev {
  width:8px; height:8px; border-radius:50%; margin-top:6px; flex-shrink:0;
}.sap-root .issue-body {flex:1; min-width:0;}.sap-root .issue-top {display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;}.sap-root .issue-title {font-weight:700; font-size:14.5px;}.sap-root .issue-badge {font-size:11px; font-weight:700; padding:3px 9px; border-radius:6px; text-transform:uppercase; letter-spacing:0.02em; flex-shrink:0;}.sap-root .issue-desc {font-size:13.5px; color:var(--ink-soft); margin-top:6px; line-height:1.5;}.sap-root .issue-meta {display:flex; gap:18px; margin-top:10px; flex-wrap:wrap;}.sap-root .issue-meta span {font-size:12px; color:var(--ink-faint);}.sap-root .issue-meta b {color:var(--ink-soft); font-weight:600;}.sap-root /* revenue / conversion */
.metric-strip {
  display:grid; grid-template-columns:repeat(3,1fr); gap:14px;
}@media (max-width:700px) {.sap-root .metric-strip {grid-template-columns:1fr;}}.sap-root .metric-box {
  background:var(--card); border:1px solid var(--border); border-radius:var(--radius-sm);
  padding:22px;
}.sap-root .metric-box-icon {
  width:36px; height:36px; border-radius:9px; display:flex; align-items:center; justify-content:center;
  margin-bottom:14px;
}.sap-root .metric-box-icon svg {width:18px; height:18px;}.sap-root .metric-box-val {font-family:var(--font-display); font-size:26px; font-weight:800; letter-spacing:-0.01em;}.sap-root .metric-box-label {font-size:13px; color:var(--ink-soft); margin-top:4px;}.sap-root /* roadmap */
.roadmap {display:flex; flex-direction:column; gap:0;}.sap-root .roadmap-item {
  display:flex; gap:18px;
  padding:20px 0;
  border-bottom:1px solid var(--border-soft);
}.sap-root .roadmap-item:last-child {border-bottom:none;}.sap-root .roadmap-tag {
  flex-shrink:0; width:96px;
  font-size:12px; font-weight:700; color:var(--primary);
  padding-top:2px;
}.sap-root .roadmap-content h4 {font-size:14.5px; font-weight:700; margin-bottom:4px;}.sap-root .roadmap-content p {font-size:13.5px; color:var(--ink-soft); line-height:1.5;}.sap-root /* lead capture */
.unlock-panel {
  background:linear-gradient(150deg, var(--primary-deep) 0%, var(--accent) 100%);
  border-radius:20px;
  padding:48px 36px;
  text-align:center;
  color:#fff;
  position:relative;
  overflow:hidden;
}.sap-root .unlock-panel::before {
  content:'';
  position:absolute; top:-60%; right:-15%;
  width:420px; height:420px; border-radius:50%;
  background:rgba(255,255,255,0.06);
}.sap-root .unlock-eyebrow {
  display:inline-flex; align-items:center; gap:6px;
  font-size:12.5px; font-weight:600;
  background:rgba(255,255,255,0.14);
  padding:6px 14px; border-radius:100px;
  margin-bottom:18px;
}.sap-root .unlock-panel h2 {
  font-family:var(--font-display); font-size:clamp(24px,3.4vw,32px);
  font-weight:800; letter-spacing:-0.01em; margin-bottom:10px;
  position:relative; z-index:1;
}.sap-root .unlock-panel p {
  font-size:15px; opacity:0.88; max-width:480px; margin:0 auto 32px;
  line-height:1.6; position:relative; z-index:1;
}.sap-root .lead-form {
  max-width:520px; margin:0 auto;
  background:#fff;
  border-radius:16px;
  padding:24px;
  position:relative; z-index:1;
  text-align:left;
}.sap-root .lead-row {display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:10px;}@media (max-width:480px) {.sap-root .lead-row {grid-template-columns:1fr;}}.sap-root .lead-form label {font-size:12.5px; font-weight:600; color:var(--ink-soft); display:block; margin-bottom:5px;}.sap-root .lead-field {margin-bottom:10px;}.sap-root .lead-form input, .sap-root .lead-form select {
  width:100%; border:1px solid var(--border); border-radius:9px;
  padding:11px 13px; font-size:14px; color:var(--ink);
  outline:none; transition:border-color 0.15s ease;
}.sap-root .lead-form input:focus, .sap-root .lead-form select:focus {border-color:var(--primary);}.sap-root .lead-submit {
  width:100%; border:none; background:linear-gradient(135deg, var(--primary), var(--primary-deep));
  color:#fff; font-weight:700; font-size:15px; padding:14px; border-radius:10px;
  margin-top:6px; box-shadow:0 8px 20px rgba(29,78,216,0.25);
  transition:transform 0.15s ease;
}.sap-root .lead-submit:hover {transform:translateY(-1px);}.sap-root .lead-form-note {font-size:11.5px; color:var(--ink-faint); text-align:center; margin-top:10px;}.sap-root .lead-success {
  display:none;
  max-width:520px; margin:0 auto; background:#fff; border-radius:16px; padding:32px;
  text-align:center; position:relative; z-index:1;
}.sap-root .lead-success-icon {
  width:48px; height:48px; border-radius:50%; background:var(--success-tint);
  display:flex; align-items:center; justify-content:center; margin:0 auto 14px;
}.sap-root .lead-success-icon svg {width:24px; height:24px; color:var(--success);}.sap-root .lead-success h3 {font-family:var(--font-display); font-size:18px; font-weight:700; color:var(--ink); margin-bottom:6px;}.sap-root .lead-success p {font-size:13.5px; color:var(--ink-soft); margin-bottom:18px;}.sap-root .lead-success-actions {display:flex; gap:10px; flex-wrap:wrap; justify-content:center;}.sap-root .lead-success-actions a {
  display:inline-flex; align-items:center; gap:8px;
  font-size:13.5px; font-weight:600;
  padding:11px 18px; border-radius:9px; text-decoration:none;
}.sap-root .btn-wa {background:#16A34A; color:#fff;}.sap-root .btn-email {background:var(--bg); color:var(--ink); border:1px solid var(--border);}.sap-root footer {
  text-align:center; padding:32px 0; font-size:12.5px; color:var(--ink-faint);
  border-top:1px solid var(--border-soft); margin-top:40px;
}.sap-root /* count up helper class */
.fade-up {animation:fadeUp 0.5s ease both;}@keyframes fadeUp{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);}}.sap-root /* focus visibility */
.sap-root input:focus-visible, .sap-root button:focus-visible {outline:2px solid var(--primary); outline-offset:2px;}