:root {
  --ink:#111a22; --soft:#47576a; --faint:#7b8ca0; --line:#e0e6ec; --line-soft:#eef2f6;
  --brand:#0e6f79; --brand-deep:#0a5058; --wash:#e6f2f3;
  --red:#cf3a3a; --amber:#c9820a; --green:#2b8f57;
  --ground:#f6f8fa; --panel:#fff;
}
* { box-sizing:border-box; }
html,body { margin:0; }
body { background:var(--ground); color:var(--ink); font:16px/1.6 -apple-system,system-ui,"Segoe UI",Roboto,sans-serif; -webkit-font-smoothing:antialiased; }
.wrap { max-width:960px; margin:0 auto; padding:0 22px; }
.narrow { max-width:640px; }
.center { text-align:center; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.muted { color:var(--soft); }

.site { border-bottom:1px solid var(--line); background:#fff; }
.bar { display:flex; align-items:center; justify-content:space-between; height:64px; }
.logo { font-weight:700; letter-spacing:-.01em; }
.book { color:var(--brand); text-decoration:none; font-weight:600; border:1px solid var(--brand); padding:8px 16px; border-radius:8px; }
.book:hover { background:var(--wash); }

.hero { padding:64px 0 40px; }
.eyebrow { font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--brand); font-weight:600; margin:0 0 14px; }
h1 { font-size:clamp(30px,5vw,46px); line-height:1.08; margin:0 0 18px; letter-spacing:-.015em; max-width:16ch; }
.lede { font-size:18px; color:var(--soft); max-width:60ch; margin:0 0 28px; }

.scanbox { background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:20px; box-shadow:0 8px 30px rgba(17,26,34,.06); max-width:560px; }
.scanbox input[type=text] { width:100%; font-size:17px; padding:14px 16px; border:1px solid var(--line); border-radius:10px; margin-bottom:12px; }
.scanbox input[type=text]:focus { outline:2px solid var(--brand); border-color:var(--brand); }
#scan-btn, #unlock-btn { width:100%; background:var(--brand); color:#fff; border:none; font-size:16px; font-weight:600; padding:14px; border-radius:10px; cursor:pointer; }
#scan-btn:hover, #unlock-btn:hover { background:var(--brand-deep); }
#scan-btn:disabled, #unlock-btn:disabled { opacity:.6; cursor:default; }
.micro { font-size:13px; color:var(--faint); margin:12px 0 0; }
.cf-turnstile { margin-top:12px; }
.err { color:var(--red); font-size:14px; margin:10px 0 0; }

.trust { display:flex; gap:28px; list-style:none; padding:0; margin:28px 0 0; color:var(--soft); font-size:15px; flex-wrap:wrap; }
.trust b { color:var(--ink); }

.stage { padding:72px 0; }
.spinner { width:44px; height:44px; border-radius:50%; border:4px solid var(--wash); border-top-color:var(--brand); margin:0 auto 22px; animation:spin 1s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce){ .spinner{ animation:none; } }
.progress { height:8px; background:var(--line-soft); border-radius:99px; overflow:hidden; margin:18px auto; max-width:420px; }
.progress .bar { height:100%; width:8%; background:var(--brand); border-radius:99px; transition:width .4s ease; }

.verdict { display:flex; align-items:center; gap:16px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:20px 22px; }
.light { width:22px; height:22px; border-radius:50%; flex:0 0 auto; background:var(--faint); box-shadow:0 0 0 5px rgba(0,0,0,.04); }
.light.red { background:var(--red); box-shadow:0 0 0 5px rgba(207,58,58,.12); }
.light.yellow { background:var(--amber); box-shadow:0 0 0 5px rgba(201,130,10,.12); }
.light.green { background:var(--green); box-shadow:0 0 0 5px rgba(43,143,87,.12); }
.risk-name { font-weight:700; font-size:18px; }
.risk-sub { color:var(--soft); font-size:14px; }
.teaser-count { font-size:20px; margin:22px 2px; }
.teaser-count b { color:var(--red); }

.locked { position:relative; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:#fff; }
.blur { padding:22px; filter:blur(6px); opacity:.5; pointer-events:none; }
.fake-row { height:16px; background:#dfe6ec; border-radius:6px; margin:12px 0; }
.fake-row.short { width:60%; }
.lock-overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(255,255,255,.7),#fff 40%); display:flex; flex-direction:column; justify-content:center; padding:26px; }
.lock-overlay h3 { margin:0 0 6px; }
#unlock-form input[type=email] { width:100%; font-size:16px; padding:13px 15px; border:1px solid var(--line); border-radius:10px; margin:14px 0 12px; }
#unlock-form input[type=email]:focus { outline:2px solid var(--brand); border-color:var(--brand); }
.consent { display:flex; gap:10px; align-items:flex-start; font-size:12.5px; color:var(--soft); margin-bottom:14px; line-height:1.45; }
.consent input { margin-top:3px; flex:0 0 auto; }

.book.big { display:inline-block; background:var(--brand); color:#fff; border:none; padding:14px 26px; border-radius:10px; margin:18px 0; }
.link { background:none; border:none; color:var(--brand); text-decoration:underline; cursor:pointer; font-size:15px; }

.site-footer { border-top:1px solid var(--line); margin-top:40px; padding:26px 0 50px; background:#fff; }
.site-footer p { margin:4px 0; font-size:14px; }
