:root {
  --ss-navy: #071821;
  --ss-ink: #17313a;
  --ss-muted: #60757d;
  --ss-teal: #0a98ac;
  --ss-cyan: #31acd9;
  --ss-blue: #0986c0;
  --ss-paper: #f1f7f8;
  --ss-line: #dce7ea;
  --ss-white: #fff;
  --ss-danger: #b73d34;
}

/* Shared launch controls: high-contrast gradient and visible keyboard focus. */
.sscan-form-card .sscan-button,.sscan-standalone .sscan-button{background:linear-gradient(120deg,#087f91,#086b9e);color:#fff;border:1px solid transparent;border-radius:12px;min-height:50px;padding:14px 24px;font-weight:750;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:12px;white-space:normal;text-align:center}
.sscan-form-card .sscan-button:hover,.sscan-standalone .sscan-button:hover{background:#075e72;color:#fff}
.sscan-form-card :is(a,button,input,textarea,select):focus-visible,.sscan-standalone a:focus-visible{outline:3px solid #087f91;outline-offset:4px;box-shadow:0 0 0 3px #fff}
.sscan-price-note{display:block;font-size:13px;font-weight:500;letter-spacing:0;color:#536a73}
.sscan-form-card .sscan-eyebrow{color:#087587}
.sscan-report-shell,.sscan-report-shell *{box-sizing:border-box}
.sscan-report-shell{max-width:1080px;margin:48px auto;padding:0 20px;color:#17313a;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;overflow-wrap:anywhere}
.sscan-report-hero{background:radial-gradient(ellipse at top right,#103c4a,transparent 65%),#071821;color:#fff;padding:40px 48px 48px;border-radius:24px 24px 0 0;border-bottom:4px solid #0a98ac}
.sscan-report-brand{display:flex;align-items:center;justify-content:space-between;gap:24px}
.sscan-report-brand img{width:220px;height:auto;max-width:65%;display:block}
.sscan-report-brand span{color:#c0d5db;font-size:12px}
.sscan-report-heading{display:grid;grid-template-columns:minmax(0,1fr) 235px;align-items:center;gap:48px;margin-top:48px}
.sscan-report-kicker{color:#087587;font-size:11px;letter-spacing:.15em;font-weight:800;margin:0 0 14px}
.sscan-report-hero .sscan-report-kicker{color:#6ed3df}
.sscan-report-heading h1{color:#fff;margin:0 0 18px;font-size:clamp(30px,4vw,48px);line-height:1.12;letter-spacing:-.035em}
.sscan-report-url{color:#c0d5db;font-size:15px;margin:0}
.sscan-report-score{padding:24px;border:1px solid #42616c;border-radius:16px;background:rgba(255,255,255,.04)}
.sscan-report-score>span{color:#9fe6ef;font-size:12px;font-weight:650}
.sscan-report-score strong{display:block;font-size:48px;color:#fff;line-height:1.35;letter-spacing:-.04em}
.sscan-report-score small{font-size:17px;font-weight:500;letter-spacing:0;color:#b9cdd3}
.sscan-report-score p{font-size:12px;line-height:1.5;margin:6px 0 0;color:#c0d5db}
.sscan-report-body{background:#fff;border:1px solid #dce7ea;border-top:0;padding:36px 48px 32px}
.sscan-report-meta{display:flex;flex-wrap:wrap;gap:12px 24px;color:#526971;font-size:12px;margin-bottom:36px}
.sscan-report-meta span:first-child{color:#086b64;font-weight:750}
.sscan-report-body h1,.sscan-report-body h2{font-size:clamp(25px,3vw,34px);line-height:1.2;letter-spacing:-.025em;color:#071821;margin:0 0 16px}
.sscan-report-intro{font-size:17px;color:#526971;max-width:650px;margin:0}
.sscan-report-actions{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0 36px}
.sscan-report-actions .sscan-outline-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 24px;border:1px solid #087587;border-radius:12px;color:#086779;background:#fff;font-weight:750;text-decoration:none}
.sscan-report-actions .sscan-outline-button:hover{background:#eaf5f7}
.sscan-report-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;border-top:1px solid #dce7ea;padding-top:30px}
.sscan-report-guide span{font-size:12px;color:#087587;font-weight:800}
.sscan-report-guide h3{font-size:15px;margin:8px 0;color:#17313a}
.sscan-report-guide p{color:#526971;font-size:13px;margin:0}
.sscan-report-private{color:#526971;font-size:12px;margin:32px 0 0}
.sscan-report-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;background:#e9f2f4;padding:22px 48px;border-radius:0 0 24px 24px;font-size:12px;color:#435d67;border:1px solid #dce7ea;border-top:0}
.sscan-report-footer a{color:#086779;text-underline-offset:3px}
@media(max-width:640px){.sscan-report-shell{margin:20px auto;padding:0 12px}.sscan-report-hero,.sscan-report-body{padding:28px 24px}.sscan-report-brand{align-items:flex-start;flex-direction:column;gap:10px}.sscan-report-brand img{max-width:100%;width:200px}.sscan-report-heading{grid-template-columns:1fr;gap:28px;margin-top:32px}.sscan-report-score{max-width:100%}.sscan-report-score strong{font-size:40px}.sscan-report-meta{gap:8px 18px;margin-bottom:26px}.sscan-report-actions{flex-direction:column}.sscan-report-actions a{width:100%}.sscan-report-guide{grid-template-columns:1fr;gap:24px}.sscan-report-footer{padding:22px 24px}.sscan-tier-head{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.sscan-standalone *,.sscan-form-card *{scroll-behavior:auto!important;transition:none!important}}

.sscan-form-card,
.sscan-result,
.sscan-form-card * ,
.sscan-result * { box-sizing: border-box; }

.sscan-form-card {
  width: 100%;
  padding: clamp(24px, 4vw, 48px);
  border: 1px solid rgba(10, 152, 172, .2);
  border-radius: 24px;
  background: var(--ss-white);
  box-shadow: 0 24px 70px rgba(7, 24, 33, .12);
  color: var(--ss-ink);
}

.sscan-paid-card { border-top: 6px solid var(--ss-teal); }
.sscan-eyebrow { color: var(--ss-teal); font-size: 12px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.sscan-form-card h2 { margin: 10px 0 12px; color: var(--ss-navy); font-size: clamp(28px, 4vw, 42px); line-height: 1.08; }
.sscan-form-card > p { max-width: 760px; margin: 0 0 28px; color: var(--ss-muted); font-size: 17px; line-height: 1.65; }
.sscan-tier-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.sscan-tier-head > strong { white-space: nowrap; color: var(--ss-navy); font-size: clamp(22px, 3vw, 32px); }
.sscan-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.sscan-fields label,
.sscan-public-form > label { display: grid; gap: 8px; color: var(--ss-ink); font-size: 14px; font-weight: 750; }
.sscan-fields label span { color: var(--ss-muted); font-size: 12px; font-weight: 500; }
.sscan-fields .sscan-wide { grid-column: 1 / -1; }
.sscan-fields input,
.sscan-fields textarea {
  width: 100%;
  min-height: 52px;
  padding: 13px 15px;
  border: 1px solid #bed0d5;
  border-radius: 10px;
  background: #fbfdfd;
  color: var(--ss-navy);
  font: inherit;
  font-weight: 500;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.sscan-fields textarea { resize: vertical; }
.sscan-fields input:focus,
.sscan-fields textarea:focus { outline: none; border-color: var(--ss-teal); background: var(--ss-white); box-shadow: 0 0 0 4px rgba(10, 152, 172, .12); }
.sscan-consent { grid-template-columns: 20px 1fr !important; align-items: start; margin: 22px 0 20px; color: var(--ss-muted) !important; font-weight: 500 !important; line-height: 1.55; }
.sscan-consent input { width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--ss-teal); }
.sscan-consent a { color: var(--ss-blue); }
.sscan-button,
.sscan-outline-button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 13px 22px;
  border: 2px solid var(--ss-blue);
  border-radius: 10px;
  background: var(--ss-blue);
  color: var(--ss-white) !important;
  font: inherit;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none !important;
  cursor: pointer;
  transition: transform .2s, box-shadow .2s, background .2s;
}
.sscan-button:hover { transform: translateY(-2px); background: #076f9f; border-color: #076f9f; box-shadow: 0 12px 30px rgba(9, 134, 192, .24); }
.sscan-button:disabled { cursor: wait; opacity: .7; transform: none; }
.sscan-outline-button { background: transparent; color: #086779 !important; }
.sscan-form-note { display: block; max-width: 720px; margin-top: 14px; color: var(--ss-muted); line-height: 1.5; }
.sscan-hp { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.sscan-alert { margin: 0 0 20px; padding: 13px 16px; border-left: 4px solid var(--ss-danger); border-radius: 6px; background: #fff2f1; color: #802821; }

body.sscan-standalone { margin: 0; min-height: 100vh; background: linear-gradient(145deg, #eaf5f6, #f8fbfc 45%, #e8f0f2); color: var(--ss-ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.sscan-result { width: min(1120px, calc(100% - 32px)); margin: 0 auto; padding: 48px 0; }
.sscan-result > section,
.sscan-result-head,
.sscan-status-card { margin-bottom: 24px; padding: clamp(24px, 5vw, 52px); border: 1px solid var(--ss-line); border-radius: 24px; background: var(--ss-white); box-shadow: 0 18px 60px rgba(7, 24, 33, .1); }
.sscan-result-head { display: flex; align-items: center; justify-content: space-between; gap: 30px; background: var(--ss-navy); color: var(--ss-white); }
.sscan-result-head h1 { max-width: 760px; margin: 9px 0; color: var(--ss-white); font-size: clamp(34px, 6vw, 64px); line-height: 1; overflow-wrap: anywhere; }
.sscan-result-head p { margin: 0; color: #b7d5dc; overflow-wrap: anywhere; }
.sscan-result-score { display: flex; min-width: 150px; min-height: 150px; align-items: baseline; justify-content: center; padding: 34px 18px; border-radius: 50%; background: var(--ss-teal); }
.sscan-result-score strong { color: var(--ss-white); font-size: 56px; line-height: 1; }
.sscan-result-score span { color: #dff9fb; font-weight: 800; }
.sscan-result h2 { margin: 8px 0 12px; color: var(--ss-navy); font-size: clamp(25px, 4vw, 38px); line-height: 1.15; }
.sscan-result section > p { color: var(--ss-muted); font-size: 17px; line-height: 1.65; }
.sscan-score-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 28px; margin-top: 30px; }
.sscan-score-grid > div { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; align-items: center; }
.sscan-score-grid span { color: var(--ss-ink); font-weight: 750; }
.sscan-score-grid strong { color: var(--ss-navy); font-size: 20px; }
.sscan-score-grid i { grid-column: 1 / -1; height: 7px; overflow: hidden; border-radius: 99px; background: #dce9ec; }
.sscan-score-grid b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--ss-teal), var(--ss-cyan)); }
.sscan-priority-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
.sscan-priority-grid article { padding: 22px; border: 1px solid var(--ss-line); border-radius: 14px; background: var(--ss-paper); }
.sscan-priority-grid article > span { color: var(--ss-teal); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.sscan-priority-grid h3 { margin: 9px 0; color: var(--ss-navy); font-size: 19px; line-height: 1.3; }
.sscan-priority-grid p { margin: 0; color: var(--ss-muted); line-height: 1.55; }
.sscan-result-upgrade { display: flex; align-items: center; justify-content: space-between; gap: 32px; background: var(--ss-navy) !important; color: var(--ss-white); }
.sscan-result-upgrade h2 { color: var(--ss-white); }
.sscan-result-upgrade p { max-width: 680px; color: #b7d5dc !important; }
.sscan-result footer { padding: 18px 8px 0; color: var(--ss-muted); text-align: center; font-size: 13px; }
.sscan-status-card { width: min(760px, 100%); margin: 8vh auto; text-align: center; }
.sscan-status-card > p { max-width: 600px; margin: 0 auto 24px; color: var(--ss-muted); font-size: 17px; line-height: 1.65; }
.sscan-status-icon { display: grid; width: 72px; height: 72px; place-items: center; margin: 0 auto 20px; border-radius: 50%; background: var(--ss-teal); color: var(--ss-white); font-size: 35px; font-weight: 800; }
.sscan-reference { display: flex; width: min(380px, 100%); justify-content: space-between; margin: 24px auto; padding: 14px 18px; border-radius: 10px; background: var(--ss-paper); color: var(--ss-muted); }
.sscan-reference strong { color: var(--ss-navy); }
.sscan-action-row { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }

@media (max-width: 760px) {
  .sscan-tier-head,
  .sscan-result-head,
  .sscan-result-upgrade { align-items: flex-start; flex-direction: column; }
  .sscan-fields,
  .sscan-score-grid,
  .sscan-priority-grid { grid-template-columns: 1fr; }
  .sscan-fields .sscan-wide { grid-column: auto; }
  .sscan-result-score { min-width: 112px; min-height: 112px; padding: 26px 14px; }
  .sscan-result-score strong { font-size: 42px; }
  .sscan-button,
  .sscan-outline-button { width: 100%; }
}
