:root {
  --scan-cyan: #79e5ff;
  --scan-blue: #6f7cff;
  --scan-ink: #03060d;
  --scan-line: rgba(153, 190, 255, .18);
}

.scan-page { color: #edf4ff; background: var(--scan-ink); }
.scan-page .site-header { background: rgba(3, 6, 13, .82); backdrop-filter: blur(22px); }
.scan-page .site-header.is-scrolled { border-bottom-color: var(--scan-line); }
.scan-hero { position: relative; min-height: 820px; display: grid; align-items: center; padding: 170px 0 105px; overflow: hidden; background: radial-gradient(circle at 75% 30%, rgba(91, 101, 255, .2), transparent 34%), radial-gradient(circle at 20% 15%, rgba(78, 217, 255, .13), transparent 29%), #03060d; }
.scan-grid { position: absolute; inset: 0; opacity: .24; background-image: linear-gradient(rgba(125, 178, 255, .1) 1px, transparent 1px), linear-gradient(90deg, rgba(125, 178, 255, .1) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to bottom, #000, transparent 88%); }
.scan-hero::after { content: ""; position: absolute; width: 560px; height: 560px; right: -190px; top: 110px; border: 1px solid rgba(121, 229, 255, .16); border-radius: 50%; box-shadow: 0 0 0 70px rgba(121,229,255,.025), 0 0 0 140px rgba(111,124,255,.018); }
.scan-hero-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(430px, .94fr); gap: 74px; align-items: center; }
.scan-kicker { margin: 0 0 24px; color: #65718a; font: .66rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .14em; text-transform: uppercase; }
.scan-kicker span { color: var(--scan-cyan); }
.scan-copy h1 { max-width: 820px; margin: 0; font-family: var(--display); font-size: clamp(3.6rem, 6vw, 7.2rem); line-height: .9; letter-spacing: -.065em; }
.scan-copy h1 em { color: transparent; font-style: normal; background: linear-gradient(100deg, #e8f7ff, var(--scan-cyan), #888fff); -webkit-background-clip: text; background-clip: text; }
.scan-lede { max-width: 710px; margin: 30px 0 0; color: #9da9bd; font-size: clamp(1.02rem, 1.5vw, 1.25rem); line-height: 1.72; }
.scan-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 35px; }
.scan-promises { display: flex; gap: 38px; margin: 46px 0 0; padding: 31px 0 0; border-top: 1px solid var(--scan-line); list-style: none; }
.scan-promises li { display: grid; gap: 3px; }
.scan-promises b { color: #fff; font-family: var(--display); font-size: 1.7rem; letter-spacing: -.03em; }
.scan-promises span { color: #64718a; font-size: .66rem; letter-spacing: .06em; text-transform: uppercase; }
.scan-console { position: relative; padding: 30px; border: 1px solid rgba(151, 191, 255, .25); border-radius: 28px; background: linear-gradient(145deg, rgba(14, 23, 43, .9), rgba(5, 10, 20, .78)); box-shadow: 0 50px 120px rgba(0, 0, 0, .55), inset 0 1px rgba(255,255,255,.06); backdrop-filter: blur(22px); }
.scan-console::before { content: ""; position: absolute; inset: -1px; z-index: -1; border-radius: inherit; background: linear-gradient(120deg, rgba(121,229,255,.35), transparent 35%, transparent 67%, rgba(111,124,255,.3)); filter: blur(17px); opacity: .45; }
.scan-console-head { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 22px; border-bottom: 1px solid var(--scan-line); font: .55rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .12em; }
.scan-console-head span { color: var(--scan-cyan); }
.scan-console-head i { color: #5f6d87; font-style: normal; }
.scan-score { display: grid; grid-template-columns: 1fr auto; align-items: end; margin: 25px 0; }
.scan-score span, .scan-score small { color: #64728b; font-size: .62rem; text-transform: uppercase; letter-spacing: .1em; }
.scan-score strong { grid-row: span 2; color: #fff; font-family: var(--display); font-size: 4.8rem; line-height: .8; }
.scan-console ol { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.scan-console li { display: grid; grid-template-columns: 40px 1fr; gap: 14px; padding: 14px; border: 1px solid rgba(148,185,241,.12); border-radius: 13px; background: rgba(255,255,255,.02); }
.scan-console li > span { color: var(--scan-cyan); font: .6rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.scan-console li div { display: grid; gap: 4px; }
.scan-console li b { font-size: .79rem; }
.scan-console li small { color: #718098; line-height: 1.45; }
.scan-console > p { margin: 20px 0 0; color: #5f6c83; font-size: .66rem; line-height: 1.6; }
.scan-proof-strip { border-block: 1px solid var(--scan-line); background: #070c17; }
.scan-proof-strip .shell { min-height: 83px; display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.scan-proof-strip span { color: var(--scan-cyan); font: .59rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .13em; }
.scan-proof-strip p { margin: 0; color: #69768d; font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; }
.scan-check-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 58px; }
.scan-check { min-height: 275px; padding: 28px; border: 1px solid #d9e0eb; border-radius: 20px; background: #fff; }
.scan-check > span { color: #5a78cc; font: .62rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .1em; }
.scan-check h3 { margin: 55px 0 12px; color: #0a1020; font-family: var(--display); font-size: 1.55rem; letter-spacing: -.03em; }
.scan-check p { margin: 0; color: #627087; font-size: .78rem; line-height: 1.72; }
.scan-check-result { color: #eef6ff; border-color: transparent; background: linear-gradient(145deg, #0a172a, #0a0f22); box-shadow: 0 25px 60px rgba(23, 42, 87, .22); }
.scan-check-result > span { color: var(--scan-cyan); }
.scan-check-result h3 { color: #fff; }
.scan-check-result p { color: #93a3bb; }
.scan-process { background: radial-gradient(circle at 50% 0, rgba(92,102,255,.16), transparent 38%), #040710; }
.scan-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 65px 0 0; padding: 0; list-style: none; }
.scan-steps li { min-height: 270px; padding: 30px; border: 1px solid var(--scan-line); border-radius: 20px; background: rgba(255,255,255,.025); }
.scan-steps span { color: var(--scan-cyan); font: .65rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.scan-steps h3 { margin: 63px 0 12px; font-family: var(--display); font-size: 1.55rem; }
.scan-steps p { color: #8491a8; font-size: .78rem; line-height: 1.7; }
.scan-request { padding: 125px 0; background: radial-gradient(circle at 17% 20%, rgba(91,101,255,.2), transparent 35%), #060a13; }
.scan-request-layout { display: grid; grid-template-columns: minmax(300px, .74fr) minmax(550px, 1.26fr); gap: 80px; align-items: start; }
.scan-request-copy { position: sticky; top: 130px; }
.scan-request-copy h2 { margin: 0; font-family: var(--display); font-size: clamp(3rem, 5vw, 5.2rem); line-height: .95; letter-spacing: -.055em; }
.scan-request-copy > p:not(.scan-kicker) { color: #8794aa; line-height: 1.7; }
.scan-direct { display: grid; gap: 9px; margin-top: 36px; padding-top: 26px; border-top: 1px solid var(--scan-line); }
.scan-direct span { color: #5f6e87; font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.scan-direct a { color: #dfeaff; font-size: .85rem; }
.scan-form { padding: 36px; border: 1px solid rgba(151,190,255,.22); border-radius: 28px; background: rgba(8,14,27,.9); box-shadow: 0 40px 100px rgba(0,0,0,.35); }
.scan-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.scan-form label:not(.consent) { display: grid; gap: 8px; margin-bottom: 18px; }
.scan-form label > span { color: #a0aec2; font-size: .68rem; font-weight: 650; }
.scan-form label small { color: #526078; font-weight: 500; }
.scan-form input, .scan-form select, .scan-form textarea { width: 100%; padding: 14px 15px; border: 1px solid #283650; border-radius: 12px; color: #f0f5ff; background: #080e1a; outline: none; }
.scan-form input:focus, .scan-form select:focus, .scan-form textarea:focus { border-color: rgba(121,229,255,.6); box-shadow: 0 0 0 4px rgba(121,229,255,.07); }
.scan-form textarea { resize: vertical; }
.scan-form .consent { display: grid; grid-template-columns: 18px 1fr; align-items: start; gap: 10px; margin: 12px 0 20px; color: #77869d; font-size: .67rem; line-height: 1.55; }
.scan-form .consent input { width: 18px; height: 18px; margin-top: 1px; }
.scan-form .consent a { color: var(--scan-cyan); }
.scan-submit { width: 100%; }
.scan-form-note { margin: 13px 0 0; color: #59667d; font-size: .61rem; text-align: center; }
.scan-form-note.is-success { color: #8af2c8; }
.scan-thanks { min-height: 100vh; color: #eef5ff; background: radial-gradient(circle at 65% 20%, rgba(92,102,255,.2), transparent 34%), #03060d; }
.scan-thanks-main { max-width: 880px; min-height: 100vh; display: flex; flex-direction: column; justify-content: center; padding-block: 90px; }
.scan-thanks-main .brand { margin-bottom: 72px; }
.scan-thanks-main h1 { max-width: 800px; margin: 0; font-family: var(--display); font-size: clamp(3.5rem, 7vw, 7rem); line-height: .9; letter-spacing: -.06em; }
.scan-thanks-main .hero-lede { max-width: 700px; color: #97a5ba; line-height: 1.7; }
.scan-thanks-next { max-width: 650px; margin: 42px 0 24px; padding: 25px; border: 1px solid var(--scan-line); border-radius: 18px; background: rgba(255,255,255,.03); }
.scan-thanks-next > span { color: var(--scan-cyan); font: .6rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .12em; text-transform: uppercase; }
.scan-thanks-next p { color: #8290a6; }

@media (max-width: 1050px) {
  .scan-hero-layout { grid-template-columns: 1fr; }
  .scan-console { max-width: 720px; }
  .scan-check-grid { grid-template-columns: repeat(2, 1fr); }
  .scan-request-layout { grid-template-columns: 1fr; }
  .scan-request-copy { position: static; max-width: 760px; }
}

@media (max-width: 720px) {
  .scan-hero { min-height: auto; padding: 135px 0 75px; }
  .scan-hero-layout { gap: 48px; }
  .scan-copy h1 { font-size: clamp(3.05rem, 14vw, 5.1rem); }
  .scan-promises { gap: 20px; }
  .scan-console { padding: 20px; }
  .scan-console-head { flex-direction: column; gap: 8px; }
  .scan-proof-strip .shell { min-height: 110px; align-items: flex-start; justify-content: center; flex-direction: column; gap: 8px; }
  .scan-proof-strip p { line-height: 1.7; }
  .scan-check-grid, .scan-steps, .scan-form-row { grid-template-columns: 1fr; }
  .scan-check, .scan-steps li { min-height: auto; }
  .scan-check h3, .scan-steps h3 { margin-top: 36px; }
  .scan-request { padding: 85px 0; }
  .scan-form { padding: 25px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .scan-hero::after { display: none; }
}
