.home-scan-modal[hidden] { display: none; }
.home-scan-modal { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: 1rem; }
.home-scan-backdrop { position: absolute; inset: 0; border: 0; background: rgba(15, 23, 42, .66); backdrop-filter: blur(8px); cursor: default; }
.home-scan-dialog { position: relative; width: min(100%, 42rem); max-height: calc(100vh - 2rem); overflow: auto; border: 1px solid #d9e1ee; border-radius: 1.5rem; background: #fff; box-shadow: 0 28px 80px rgba(15, 23, 42, .26); }
.home-scan-head { padding: 1.75rem 4rem 1rem 1.75rem; border-bottom: 1px solid #edf1f7; }
.home-scan-head h2 { margin: .35rem 0 .55rem; font-size: clamp(1.65rem, 4vw, 2.35rem); line-height: 1.08; }
.home-scan-head p { margin: 0; color: #596579; }
.home-scan-kicker { color: #1769e0; font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.home-scan-close { position: absolute; top: 1rem; right: 1rem; width: 2.6rem; height: 2.6rem; border: 1px solid #d9e1ee; border-radius: 999px; background: #fff; color: #172033; font-size: 1.4rem; line-height: 1; cursor: pointer; }
.home-scan-close:hover { background: #f3f6fa; }
.home-scan-form { display: grid; gap: 1rem; padding: 1.35rem 1.75rem 1.75rem; }
.home-scan-field { display: grid; gap: .45rem; color: #273247; font-size: .88rem; font-weight: 750; }
.home-scan-field input { width: 100%; min-height: 3.15rem; box-sizing: border-box; border: 1px solid #cbd5e3; border-radius: .8rem; padding: .75rem .9rem; background: #fff; color: #111827; font: inherit; font-weight: 500; }
.home-scan-field input:focus { border-color: #1769e0; outline: 3px solid rgba(23, 105, 224, .15); }
.home-scan-verification { min-height: 4.2rem; }
.home-scan-consent { margin: -.2rem 0 0; color: #6b7485; font-size: .78rem; line-height: 1.55; }
.home-scan-submit { width: 100%; justify-content: center; }
.home-scan-submit:disabled { cursor: not-allowed; filter: grayscale(.35); opacity: .55; }
.home-scan-status { min-height: 1.35rem; margin: 0; color: #586579; font-size: .86rem; }
.home-scan-status[data-state="error"] { color: #b42318; }
.home-scan-result { margin: 0 1.75rem 1.75rem; padding: 1.2rem; border: 1px solid #dce5f2; border-radius: 1rem; background: linear-gradient(145deg, #f7fbff, #fff); }
.home-scan-scoreline { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.home-scan-scoreline h3 { margin: 0; font-size: 1.05rem; }
.home-scan-score { color: #1769e0; font-size: 1.55rem; font-weight: 850; }
.home-scan-result-meta { margin: .35rem 0 1rem; color: #657084; font-size: .82rem; }
.home-scan-findings { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.home-scan-finding { padding: .75rem .85rem; border: 1px solid #e2e8f0; border-radius: .75rem; background: #fff; }
.home-scan-finding strong { display: block; margin-bottom: .2rem; color: #172033; font-size: .88rem; }
.home-scan-finding span { color: #637087; font-size: .8rem; line-height: 1.45; }
.home-scan-explanation { margin-top: 1rem; padding: .9rem 1rem; border-left: 4px solid #1769e0; border-radius: 0 .8rem .8rem 0; background: #edf6ff; }
.home-scan-explanation strong { display: block; color: #17345f; font-size: .86rem; }
.home-scan-explanation p { margin: .3rem 0 0; color: #4d607b; font-size: .82rem; line-height: 1.55; }
.home-scan-verdict { display: grid; gap: .3rem; margin-top: .8rem; padding: 1rem; border: 1px solid #dbe3ef; border-radius: .85rem; background: #fff; }
.home-scan-verdict span { color: #64748b; font-size: .7rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.home-scan-verdict strong { color: #172033; font-size: .94rem; line-height: 1.45; }
.home-scan-result-section { margin-top: 1.1rem; }
.home-scan-section-title { margin: 0 0 .6rem; color: #1c2940; font-size: .88rem; }
.home-scan-actions { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; counter-reset: scan-action; }
.home-scan-actions li { position: relative; min-height: 2rem; padding: .65rem .75rem .65rem 2.7rem; border: 1px solid #e2e8f0; border-radius: .75rem; background: #fff; color: #526078; font-size: .8rem; line-height: 1.5; counter-increment: scan-action; }
.home-scan-actions li::before { content: counter(scan-action); position: absolute; top: .65rem; left: .7rem; display: grid; width: 1.35rem; height: 1.35rem; place-items: center; border-radius: 999px; background: #172033; color: #fff; font-size: .67rem; font-weight: 850; }
.home-scan-product-cta { display: grid; gap: .55rem; margin-top: 1.2rem; padding: 1.1rem; border: 1px solid #bdd2f3; border-radius: 1rem; background: linear-gradient(135deg, #eaf4ff, #fff8d8); }
.home-scan-product-cta > span { color: #1769e0; font-size: .68rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.home-scan-product-cta > strong { color: #172033; font-size: 1rem; }
.home-scan-product-cta p { margin: 0; color: #53627a; font-size: .8rem; line-height: 1.5; }
.home-scan-product-cta .sf-button { width: fit-content; margin-top: .2rem; }
body.home-scan-open { overflow: hidden; }
@media (max-width: 600px) {
  .home-scan-modal { padding: 0; place-items: end center; }
  .home-scan-dialog { width: 100%; max-height: 94vh; border-radius: 1.35rem 1.35rem 0 0; }
  .home-scan-head { padding: 1.4rem 3.6rem .9rem 1.2rem; }
  .home-scan-form { padding: 1.1rem 1.2rem 1.35rem; }
  .home-scan-result { margin: 0 1.2rem 1.35rem; }
}
