:root { --navy:#031f2e; --cyan:#00aeef; --red:#eb2227; --ink:#15252e; --muted:#60727d; --line:#dce5e9; --surface:#f4f7f8; }
* { box-sizing:border-box; }
body { margin:0; background:#edf3f5; color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; line-height:1.55; }
a { color:inherit; text-decoration:none; }
.assessment-top { background:#4bb2e2; color:white; font-size:.78rem; font-weight:800; }
.assessment-top div,.assessment-nav,.assessment-shell { width:min(1160px,calc(100% - 40px)); margin:auto; }
.assessment-top div { min-height:38px; display:flex; align-items:center; justify-content:space-between; }
.assessment-nav { height:88px; display:flex; align-items:center; justify-content:space-between; }
.assessment-nav img { width:200px; max-height:68px; object-fit:contain; }
.assessment-nav a:last-child { font-weight:800; }
.assessment-hero { padding:66px 0 126px; color:white; background:radial-gradient(circle at 90% 0,rgba(0,174,239,.25),transparent 28%),linear-gradient(125deg,#021823,#06445d); }
.assessment-hero-inner { width:min(1160px,calc(100% - 40px)); margin:auto; display:grid; grid-template-columns:1fr 340px; gap:80px; align-items:end; }
.assessment-hero h1 { max-width:800px; margin:0 0 18px; font-size:clamp(2.8rem,5.8vw,5.5rem); line-height:.96; letter-spacing:-.055em; }
.assessment-hero p { max-width:720px; margin:0; color:rgba(255,255,255,.78); font-size:1.08rem; }
.assessment-price { padding:26px; border:1px solid rgba(255,255,255,.25); background:rgba(0,0,0,.12); }
.assessment-price span { display:block; color:var(--cyan); font-size:.72rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.assessment-price strong { display:block; margin-top:7px; font-size:2.5rem; line-height:1; }
.assessment-shell { position:relative; margin-top:-72px; margin-bottom:90px; display:grid; grid-template-columns:260px minmax(0,1fr); background:white; box-shadow:0 24px 70px rgba(15,49,64,.17); }
.assessment-progress { padding:34px 25px; color:white; background:var(--navy); }
.assessment-progress h2 { margin:0 0 28px; font-size:1rem; }
.assessment-progress ol { margin:0; padding:0; list-style:none; }
.assessment-progress li { position:relative; min-height:68px; padding:2px 0 20px 42px; color:rgba(255,255,255,.48); font-size:.8rem; font-weight:750; }
.assessment-progress li::before { content:attr(data-step); position:absolute; left:0; top:0; width:27px; height:27px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.28); border-radius:50%; font-size:.66rem; }
.assessment-progress li::after { content:""; position:absolute; left:13px; top:32px; bottom:3px; width:1px; background:rgba(255,255,255,.15); }
.assessment-progress li:last-child::after { display:none; }
.assessment-progress li.active { color:white; }
.assessment-progress li.active::before,.assessment-progress li.complete::before { border-color:var(--cyan); background:var(--cyan); color:var(--navy); }
.assessment-progress li.complete { color:rgba(255,255,255,.76); }
.assessment-form-wrap { padding:48px 52px 44px; }
.form-step { display:none; }
.form-step.active { display:block; }
.form-step h2 { margin:0 0 7px; font-size:2rem; letter-spacing:-.03em; }
.step-intro { margin:0 0 30px; color:var(--muted); }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:21px; }
.field,.field-wide { display:grid; gap:7px; }
.field-wide { grid-column:1/-1; }
.field span,.fieldset legend { font-size:.83rem; font-weight:800; }
.field input,.field select,.field textarea { width:100%; min-height:48px; padding:12px 13px; border:1px solid #b9cbd3; border-radius:8px; background:white; color:var(--ink); font:inherit; }
.field textarea { min-height:100px; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus { outline:3px solid rgba(0,174,239,.16); border-color:var(--cyan); }
.fieldset { margin:0; padding:0; border:0; }
.choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:10px; }
.choice { display:flex; gap:10px; align-items:flex-start; padding:13px; border:1px solid var(--line); border-radius:8px; background:#f8fbfc; font-size:.84rem; }
.authorization-box { margin:22px 0; padding:24px; border-left:4px solid var(--red); background:#fff5f5; }
.authorization-box strong { display:block; margin-bottom:8px; }
.ack-list { display:grid; gap:10px; }
.ack-list label { display:flex; gap:11px; align-items:flex-start; padding:12px 0; border-bottom:1px solid var(--line); font-size:.88rem; }
.upload-box { padding:22px; border:1px dashed #8cb1c1; border-radius:8px; background:#f5fbfd; }
.upload-box small { display:block; margin-top:8px; color:var(--muted); }
.summary-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.summary-item { padding:15px; background:var(--surface); }
.summary-item span { display:block; color:var(--muted); font-size:.7rem; font-weight:800; text-transform:uppercase; }
.summary-item strong { display:block; margin-top:5px; overflow-wrap:anywhere; }
.review-price { margin:25px 0; padding:24px; display:flex; justify-content:space-between; align-items:center; color:white; background:var(--navy); }
.review-price strong { font-size:1.8rem; }
.review-price small { color:#b9d1db; }
.form-actions { margin-top:34px; display:flex; align-items:center; justify-content:space-between; gap:15px; }
.btn { min-height:48px; padding:12px 22px; border:2px solid transparent; border-radius:999px; font:800 .87rem inherit; cursor:pointer; }
.btn-primary { background:var(--red); color:white; }
.btn-secondary { border-color:#a9bec8; background:white; color:var(--ink); }
.btn[disabled] { opacity:.5; cursor:not-allowed; }
.form-status { min-height:22px; margin-top:15px; color:#a31318; font-size:.86rem; font-weight:700; }
.honeypot { position:absolute; left:-9999px; }
.received-card { width:min(760px,calc(100% - 40px)); margin:70px auto; padding:54px; text-align:center; background:white; box-shadow:0 20px 60px rgba(15,49,64,.14); }
.received-icon { width:74px; height:74px; margin:0 auto 25px; display:grid; place-items:center; border-radius:50%; background:#dff7e8; color:#087c3a; font-size:2rem; }
.received-card h1 { margin:0 0 15px; font-size:2.6rem; line-height:1.08; }
.reference { margin:27px 0; padding:18px; background:var(--navy); color:white; font-size:1.4rem; font-weight:900; letter-spacing:.08em; }
.admin-shell { width:min(1200px,calc(100% - 40px)); margin:38px auto 80px; }
.admin-header { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:25px; }
.admin-card { margin-bottom:18px; padding:25px; background:white; border:1px solid var(--line); }
.admin-table { width:100%; border-collapse:collapse; background:white; }
.admin-table th,.admin-table td { padding:13px; border-bottom:1px solid var(--line); text-align:left; font-size:.82rem; }
.status { display:inline-block; padding:4px 8px; border-radius:99px; background:#e6f4fa; color:#075c7e; font-size:.7rem; font-weight:900; text-transform:uppercase; }
.admin-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.admin-form { display:grid; gap:15px; }
.score-category { margin-bottom:20px; border:1px solid var(--line); background:white; }
.score-category h3 { margin:0; padding:15px 18px; background:var(--navy); color:white; }
.control-row { display:grid; grid-template-columns:1.2fr 150px 1fr 1fr; gap:10px; padding:14px 18px; border-bottom:1px solid var(--line); }
.control-row:last-child { border-bottom:0; }
.control-row input,.control-row select,.control-row textarea { width:100%; padding:8px; border:1px solid #b9cbd3; }
.score-panel { display:grid; grid-template-columns:190px 1fr; gap:28px; align-items:center; }
.score-gauge { width:170px; height:170px; display:grid; place-items:center; border-radius:50%; background:conic-gradient(var(--cyan) calc(var(--score)*1%),#dce6ea 0); }
.score-gauge::before { content:""; width:128px; height:128px; border-radius:50%; background:white; }
.score-gauge strong { position:absolute; font-size:2.2rem; }
.report-frame { width:100%; min-height:760px; border:1px solid var(--line); background:white; }
.scanner-main,.scan-result{width:min(1160px,calc(100% - 40px));margin:50px auto 90px}.scanner-hero{display:grid;grid-template-columns:1fr 300px;gap:70px;align-items:end;padding:70px;background:linear-gradient(125deg,#031f2e,#075c7e);color:#fff}.scanner-hero h1{margin:0 0 18px;font-size:clamp(2.8rem,6vw,5.6rem);line-height:.94;letter-spacing:-.06em}.scanner-hero p{max-width:760px;color:#d7e8ef;font-size:1.08rem}.scanner-hero aside{padding:26px;border:1px solid rgba(255,255,255,.25)}.scanner-hero aside strong,.scanner-hero aside span{display:block}.scanner-hero aside strong{font-size:1.5rem}.scanner-hero aside span{margin-top:8px;color:#71d4ff}.scanner-panel{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:64px 70px;background:#fff;box-shadow:0 22px 65px rgba(3,31,46,.12)}.scanner-copy h2,.engineer-next h2{font-size:2rem;line-height:1.08}.scanner-copy li{margin:9px 0}.scanner-form{display:grid;gap:20px;align-content:center;padding:30px;background:#f1f6f8}.scanner-form label:first-child{display:grid;gap:8px;font-weight:800}.scanner-form input[type=text]{min-height:58px;padding:14px;border:1px solid #9eb6c1;font:inherit}.scan-consent{display:flex;gap:12px;align-items:flex-start;font-size:.85rem}.scan-button,.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:12px 22px;border:0;background:var(--red);color:#fff;font-weight:900;cursor:pointer}.scan-status{min-height:22px;margin:0;color:#8d1116;font-weight:750}.scanner-boundary{display:grid;grid-template-columns:180px 1fr auto;gap:26px;align-items:center;padding:28px 36px;background:#dce8ed}.scanner-boundary p{margin:0}.scanner-boundary a{font-weight:900;color:#075c7e}.scan-result.waiting{text-align:center;padding:100px 20px}.scan-spinner{width:64px;height:64px;margin:auto;border:7px solid #dce8ed;border-top-color:var(--cyan);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.score-summary{display:flex;gap:38px;align-items:center;padding:46px;background:#fff}.score-summary h1{margin:3px 0;font-size:clamp(2rem,5vw,4rem)}.score-ring{width:180px;height:180px;display:grid;place-content:center;border-radius:50%;background:radial-gradient(circle,#fff 58%,transparent 59%),conic-gradient(var(--cyan) calc(var(--score)*1%),#dce8ed 0);text-align:center}.score-ring strong{font-size:3.3rem;line-height:1}.score-ring span{color:var(--muted)}.result-grid{display:grid;grid-template-columns:1fr 360px;gap:30px;margin-top:35px}.finding{margin-bottom:14px;padding:24px;background:#fff;border-left:5px solid var(--red)}.finding span{color:#a31318;font-size:.7rem;font-weight:900;text-transform:uppercase}.finding h3{margin:5px 0}.finding p{margin:7px 0;color:var(--muted)}.unlock-card{position:sticky;top:25px;align-self:start;padding:32px;background:var(--navy);color:#fff}.unlock-card>strong{display:block;margin:15px 0;font-size:2.2rem}.unlock-card p,.unlock-card small{display:block;color:#c6d8df}.unlock-card .button{width:100%;margin:10px 0 17px}.engineer-next{display:flex;justify-content:space-between;gap:40px;align-items:center;margin-top:35px;padding:40px;background:#0a7197;color:#fff}.engineer-next p{max-width:700px;color:#d5edf6}.result-disclaimer{padding:20px;color:var(--muted);font-size:.8rem}
@media (max-width:800px) {
  .assessment-hero-inner,.assessment-shell,.admin-grid,.security-report-layout { grid-template-columns:1fr; }
  .assessment-hero { padding-bottom:100px; }
  .assessment-price { display:none; }
  .assessment-shell { width:min(100% - 24px,680px); }
  .assessment-progress { padding:20px; }
  .assessment-progress h2 { display:none; }
  .assessment-progress ol { display:flex; justify-content:space-between; }
  .assessment-progress li { min-height:0; width:34px; padding:0; font-size:0; }
  .assessment-progress li::after { left:31px; top:13px; bottom:auto; width:calc((100vw - 100px)/5); height:1px; }
  .assessment-form-wrap { padding:32px 22px; }
  .field-grid,.choice-grid,.summary-grid { grid-template-columns:1fr; }
  .review-price { align-items:flex-start; flex-direction:column; gap:8px; }
  .control-row { grid-template-columns:1fr; }
  .score-panel { grid-template-columns:1fr; }
  .admin-table { display:block; overflow:auto; }
  .scanner-hero,.scanner-panel,.scanner-boundary,.result-grid{grid-template-columns:1fr}.scanner-hero,.scanner-panel{padding:40px 24px;gap:35px}.scanner-boundary{gap:12px}.score-summary,.engineer-next{align-items:flex-start;flex-direction:column}.score-ring{width:140px;height:140px}.unlock-card{position:static}
}

/* Task 2 application shell */
.assessment-top { min-height:82px; padding:0 max(20px,calc((100% - 1160px)/2)); display:flex; align-items:center; justify-content:space-between; background:#fff; color:var(--ink); border-top:7px solid var(--cyan); border-bottom:1px solid var(--line); }
.assessment-brand { display:flex; align-items:center; gap:16px; }
.assessment-brand img { width:188px; max-height:55px; }
.assessment-brand span { padding-left:15px; border-left:1px solid var(--line); color:#075c7e; font-size:.88rem; letter-spacing:.08em; text-transform:uppercase; }
.assessment-top nav,.inline { display:flex; align-items:center; gap:22px; }
.assessment-top nav a,.text-button { font:800 .78rem inherit; color:#29414e; }
.text-button { border:0; background:none; cursor:pointer; }
.assessment-hero { width:100%; padding:70px max(20px,calc((100% - 1160px)/2)) 128px; display:grid; grid-template-columns:1fr 310px; gap:70px; align-items:end; }
.price-card { padding:27px; border:1px solid rgba(255,255,255,.28); background:rgba(1,17,25,.25); }
.price-card span,.price-card small { display:block; }
.price-card span { color:var(--cyan); font-size:.72rem; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.price-card strong { display:block; margin:10px 0 6px; font-size:2.5rem; line-height:1; }
.price-card small { color:rgba(255,255,255,.7); }
.assessment-shell > aside { padding:35px 25px; color:#fff; background:var(--navy); }
.aside-title { margin:0 0 25px; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.assessment-shell > form { padding:46px 50px; }
.assessment-progress { padding:0; background:none; }
.assessment-progress { margin:0; list-style:none; }
.assessment-progress li { font-size:.8rem; }
.authority-box { margin:24px 0; padding:21px; border-left:4px solid var(--red); background:#fff5f5; color:var(--ink); }
.assessment-shell > aside .authority-box { margin-top:30px; border-color:var(--cyan); background:rgba(255,255,255,.08); color:#fff; }
.authority-box p { margin:7px 0 0; color:inherit; opacity:.78; }
.form-step { margin:0; padding:0; border:0; }
.form-step legend { margin-bottom:8px; font-size:2rem; font-weight:900; letter-spacing:-.03em; }
.form-step > p { margin:0 0 27px; color:var(--muted); }
.form-step label,.admin-card label,.login-panel label,.control label { display:grid; gap:7px; color:#233946; font-size:.8rem; font-weight:800; }
.form-step input,.form-step select,.form-step textarea,.admin-card input,.admin-card select,.admin-card textarea,.login-panel input,.control input,.control select,.control textarea,.workflow-card input { width:100%; min-height:48px; padding:11px 12px; border:1px solid #b9cbd3; border-radius:7px; background:#fff; color:var(--ink); font:inherit; font-weight:500; }
.form-step textarea,.admin-card textarea,.control textarea { min-height:92px; resize:vertical; }
.form-step input:focus,.form-step select:focus,.form-step textarea:focus { outline:3px solid rgba(0,174,239,.17); border-color:var(--cyan); }
.form-step small { color:var(--muted); font-weight:500; }
.hp { position:absolute !important; left:-9999px !important; }
.step-actions { margin-top:34px; display:flex; justify-content:flex-end; gap:12px; }
button,.button { min-height:47px; padding:12px 22px; border:0; border-radius:999px; background:var(--red); color:#fff; font:850 .84rem inherit; cursor:pointer; }
button.secondary,.button.secondary { border:1px solid #adc1ca; background:#fff; color:var(--ink); }
button[disabled] { opacity:.38; cursor:not-allowed; }
.check-list { display:grid; gap:8px; }
.check-list label,.final-confirm { display:flex; grid-template-columns:22px 1fr; align-items:flex-start; gap:10px; padding:11px 0; border-bottom:1px solid var(--line); }
.check-list input,.final-confirm input { width:19px; min-height:19px; margin:2px 0; }
.final-confirm { margin-top:25px; border:0; }
.assessment-footer { min-height:95px; padding:30px max(20px,calc((100% - 1160px)/2)); display:flex; justify-content:space-between; gap:20px; color:#c6d5dc; background:var(--navy); font-size:.78rem; }
.confirmation,.login-panel { width:min(760px,calc(100% - 40px)); margin:70px auto; padding:52px; background:#fff; box-shadow:0 20px 65px rgba(15,49,64,.14); text-align:center; }
.confirmation-mark { width:70px; height:70px; margin:auto; display:grid; place-items:center; border-radius:50%; background:#dff7e8; color:#087c3a; font-size:2rem; font-weight:900; }
.eyebrow { color:#0586b8; font-size:.7rem; font-weight:950; letter-spacing:.13em; text-transform:uppercase; }
.confirmation h1,.login-panel h1 { font-size:clamp(2.2rem,5vw,4rem); line-height:1; letter-spacing:-.05em; }
.confirmation .button { display:inline-flex; align-items:center; margin-top:20px; }
.login-panel { width:min(480px,calc(100% - 40px)); text-align:left; }
.login-panel form { display:grid; gap:18px; }
.error { color:#a31318; font-weight:800; }
.admin-main { width:min(1200px,calc(100% - 40px)); margin:42px auto 90px; }
.back-link { display:inline-block; margin-bottom:22px; color:#086e96; font-weight:800; }
.admin-heading { margin-bottom:25px; display:flex; justify-content:space-between; gap:25px; align-items:flex-start; }
.admin-heading h1 { margin:2px 0 6px; font-size:clamp(2.2rem,5vw,4.6rem); line-height:1; letter-spacing:-.05em; }
.admin-row { display:grid; grid-template-columns:1.2fr 1.35fr .8fr .9fr 1.25fr; gap:16px; padding:16px 18px; border-bottom:1px solid var(--line); background:#fff; align-items:center; }
.admin-row small { display:block; margin-top:4px; color:var(--muted); font-size:.68rem; }
.admin-row.head { background:var(--navy); color:#fff; font-size:.72rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.admin-row:not(.head):hover { background:#f5fbfd; }
.admin-card h2,.workflow-card h2,.assessment-work h2,.report-actions h2 { margin-top:0; }
.admin-card dl { display:grid; grid-template-columns:130px 1fr; gap:10px 15px; }
.admin-card dt { color:var(--muted); font-size:.72rem; font-weight:900; text-transform:uppercase; }
.admin-card dd { margin:0; overflow-wrap:anywhere; }
.admin-card form { display:grid; gap:13px; }
.workflow-card,.assessment-work,.report-actions { margin:18px 0; padding:28px; background:#fff; border:1px solid var(--line); }
.workflow-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.workflow-steps > div { padding:18px; border:1px solid var(--line); background:var(--surface); }
.workflow-steps > div > span { width:28px; height:28px; display:grid; place-items:center; margin-bottom:12px; border-radius:50%; background:#cbd9df; font-weight:900; }
.workflow-steps > div.done > span { background:#19b76a; color:white; }
.workflow-steps form { display:grid; gap:10px; margin-top:15px; }
.section-heading,.score-category header,.report-actions { display:flex; justify-content:space-between; gap:20px; align-items:center; }
.assessment-work.locked { opacity:.7; }
.score-category header { padding:15px 18px; background:var(--navy); color:#fff; }
.score-category header h3 { padding:0; }
.control { display:grid; grid-template-columns:1.15fr 150px 1fr 1fr; gap:12px; padding:14px 18px; border-bottom:1px solid var(--line); }
.control > div small { display:block; color:#b51c20; font-size:.65rem; font-weight:900; text-transform:uppercase; }
.demo-action { margin-top:18px; display:flex; align-items:center; gap:15px; }
.findings article { margin-top:12px; padding:14px; border:1px solid var(--line); }
.severity { display:inline-block; margin-right:10px; padding:3px 8px; border-radius:99px; background:#f3d98a; font-size:.65rem; font-weight:950; text-transform:uppercase; }
.severity.critical,.severity.high { background:#ffd9db; color:#a31318; }
.report-actions { display:grid; grid-template-columns:1fr auto auto auto; }
.score-gauge { width:150px; height:150px; position:relative; display:flex; flex-direction:column; background:#fff; border:13px solid #dff2fa; box-shadow:inset 0 0 0 2px var(--cyan); }
.score-gauge::before { display:none; }
.score-gauge strong { position:static; font-size:2.5rem; line-height:1; }
.score-gauge span,.score-gauge small { font-size:.7rem; color:var(--muted); text-align:center; }
.report-preview { width:min(900px,calc(100% - 40px)); margin:45px auto 90px; padding:50px; background:#fff; box-shadow:0 25px 70px rgba(15,49,64,.14); }
.report-preview h1 { font-size:3rem; margin:0; }
.report-score { margin:35px 0; padding:30px; background:var(--navy); color:#fff; }
.report-score strong { font-size:4rem; }
.report-facts { display:grid; grid-template-columns:170px 1fr; gap:8px 18px; margin:25px 0; }
.report-facts dt { color:var(--muted); font-size:.72rem; font-weight:900; text-transform:uppercase; }
.report-facts dd { margin:0; }
.category-bars > div { display:grid; grid-template-columns:1fr 2fr 70px; gap:12px; margin:12px 0; align-items:center; }
.category-bars meter { width:100%; }
.preview-finding { margin:12px 0; padding:18px; border-left:4px solid var(--red); background:#fff5f5; }

@media (max-width:800px) {
  .assessment-top { min-height:70px; }
  .assessment-brand img { width:145px; }
  .assessment-brand span,.assessment-top nav a:first-child { display:none; }
  .assessment-hero { grid-template-columns:1fr; padding-top:55px; }
  .price-card { display:none; }
  .assessment-shell > form { padding:32px 22px; }
  .assessment-shell > aside { padding:18px; }
  .assessment-shell > aside .authority-box,.aside-title { display:none; }
  .assessment-progress { display:flex; justify-content:space-between; }
  .assessment-progress li { width:30px; min-height:30px; padding:0; font-size:0 !important; }
  .assessment-progress li::after { left:30px; top:13px; bottom:auto; width:calc((100vw - 104px)/5); height:1px; }
  .workflow-steps,.control,.report-actions { grid-template-columns:1fr; }
  .admin-row { grid-template-columns:1fr; gap:4px; }
  .admin-row.head { display:none; }
  .admin-heading { flex-direction:column; }
  .assessment-footer { flex-direction:column; }
  .report-preview { padding:27px 20px; }
}
.scanner-form > label:not(.scan-consent){display:grid;gap:8px;font-weight:800}.scanner-form input[type=email],.scanner-form input[type=tel]{min-height:58px;padding:14px;border:1px solid #9eb6c1;font:inherit}
.score-ring{border:16px solid var(--cyan);background:#fff}
.result-intelligence{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:1px;background:#cbdbe2}.result-intelligence article{min-height:128px;padding:26px;background:#fff}.result-intelligence span,.result-intelligence small{display:block;color:var(--muted);font-size:.72rem}.result-intelligence span{margin-bottom:12px;color:#087aa5;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.result-intelligence strong{display:block;margin-bottom:8px;font-size:1.05rem}.engineer-links{display:grid;gap:12px;min-width:230px;text-align:center}.engineer-links>a:last-child{color:#fff;font-size:.76rem;font-weight:850;text-decoration:underline;text-underline-offset:4px}

/* Public scanner within the full JohnDigital corporate shell */
.security-tool-page { min-height:100vh; background:#edf3f5; }
.security-tool-page .site-header { top:0; }
.security-tool-page .brand { width:218px; }
.security-tool-page .brand img { width:100%; height:72px; object-fit:contain; object-position:left center; }
.security-tool-page .scanner-main { width:100%; margin:0; overflow:hidden; }
.security-tool-page .scanner-hero { position:relative; width:100%; min-height:440px; padding:92px max(24px,calc((100% - 1180px)/2)) 120px; background:radial-gradient(circle at 88% 18%,rgba(0,174,239,.27),transparent 30%),linear-gradient(125deg,#021823 0%,#063f58 58%,#007aa7 100%); }
.security-tool-page .scanner-hero::after { content:""; position:absolute; right:-70px; bottom:-130px; width:420px; height:420px; border:1px solid rgba(255,255,255,.14); border-radius:50%; box-shadow:0 0 0 56px rgba(255,255,255,.035),0 0 0 112px rgba(255,255,255,.025); pointer-events:none; }
.security-tool-page .scanner-hero > * { position:relative; z-index:1; }
.security-tool-page .scanner-hero aside { background:rgba(1,24,35,.24); backdrop-filter:blur(8px); }
.security-tool-page .scanner-panel { position:relative; z-index:2; width:min(1180px,calc(100% - 40px)); margin:-54px auto 0; padding:72px; }
.security-tool-page .scanner-form { border-top:6px solid var(--cyan); box-shadow:0 16px 45px rgba(4,45,63,.1); }
.security-tool-page .scanner-boundary { width:min(1180px,calc(100% - 40px)); margin:0 auto 92px; }
.security-tool-page .scan-result { min-height:620px; }
.security-tool-page .site-footer { margin-top:0; }
.scan-phases{width:min(520px,100%);margin:28px auto;padding:0;list-style:none;text-align:left}.scan-phases li{margin:8px 0;padding:12px 16px;border-left:3px solid var(--cyan);background:#fff;box-shadow:0 5px 18px rgba(3,31,46,.06)}

@media (max-width:900px) {
  .security-tool-page .brand { width:188px; }
  .security-tool-page .scanner-hero { min-height:0; padding-top:70px; padding-bottom:95px; }
  .security-tool-page .scanner-panel { padding:48px 36px; }
}
@media (max-width:800px) {
  .security-tool-page .brand { width:172px; }
  .security-tool-page .brand img { height:60px; }
  .security-tool-page .scanner-hero { padding:58px 24px 84px; }
  .security-tool-page .scanner-panel { width:min(100% - 24px,680px); margin-top:-38px; padding:38px 24px; }
  .security-tool-page .scanner-boundary { width:min(100% - 24px,680px); margin-bottom:64px; padding:26px 24px; }
  .result-intelligence{grid-template-columns:1fr}.engineer-links{width:100%}
}
