/* Vertex Hackcheck tool (GOEDGEKEURD prototype 21-10-2026). Only loaded on template-hackcheck.php.
   Tokens match style.css (navy #001C33, blue #2483E4, teal #12A898, tint #EEF3F8, Sora). */
.hc-stage,.hc-report-zone{box-sizing:border-box}.hc-stage *,.hc-report-zone *{box-sizing:border-box}
.hc-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

.hc-stage,.hc-report-zone{--navy:#001C33;--navy-mid:#002543;--navy-deep:#001424;--blue:#2483E4;--teal:#12A898;--tint:#EEF3F8;--ink:#1C2B3A;--muted:#5B6B7B;--line:#DCE4EC;
  --ok:#12A898;--warn:#D97706;--bad:#DC2626;--na:#8A9AAB;--disp:Sora,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace}

/* ---------- stage (dark, like the live hero) ---------- */
.hc-stage{position:relative;overflow:hidden;background:radial-gradient(1200px 600px at 85% -10%,rgba(36,131,228,.22),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(18,168,152,.16),transparent 60%),var(--navy);color:#fff;padding:96px 24px 120px}
.hc-net{position:absolute;inset:0;width:100%;height:100%;opacity:.55;pointer-events:none}
.hc-wrap{position:relative;max-width:1160px;margin:0 auto}
.hc-eyebrow{font:700 .8rem/1 var(--disp);letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:18px}
.hc-stage h2,.hc-stage h3,.hc-sheet h2,.hc-sheet h3{font-family:var(--disp);letter-spacing:-.02em;margin:0}
.hc-stage .hc-h{color:#fff;font-size:clamp(2.1rem,4.4vw,3.5rem);line-height:1.06;font-weight:800;max-width:15ch}
.hc-stage .hc-lead{color:#B9C8D8;font-size:1.12rem;line-height:1.6;max-width:46ch;margin:22px 0 0}

.hc-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
@media (max-width:920px){.hc-grid{grid-template-columns:1fr;gap:44px}.hc-stage{padding:84px 18px 90px}}
.hc-grid>*{min-width:0}
@media (max-width:560px){.hc-scope{padding:0 34px;max-width:380px}.hc-node text{font-size:21px}.hc-core-lbl{font-size:16px}.hc-report-zone{padding:0 12px 80px}.hc-facts{gap:18px}}
/* address bar input */
.hc-probe{margin-top:38px;max-width:560px}
.hc-addr{display:flex;align-items:center;background:#fff;border-radius:14px;padding:6px 6px 6px 18px;box-shadow:0 24px 60px rgba(0,0,0,.28);transition:box-shadow .25s}
.hc-addr:focus-within{box-shadow:0 0 0 4px rgba(36,131,228,.35),0 24px 60px rgba(0,0,0,.28)}
.hc-addr svg{flex:none;color:var(--teal)}
.hc-addr .hc-pre{font:500 1rem var(--mono);color:#8A9AAB;margin:0 2px 0 10px}
.hc-addr input{flex:1;min-width:0;border:0;outline:0;font:500 1.05rem var(--mono);color:var(--navy);padding:14px 4px;background:transparent}
.hc-go{flex:none;border:0;cursor:pointer;background:var(--blue);color:#fff;font:700 .98rem var(--disp);padding:15px 22px;border-radius:10px;display:flex;align-items:center;gap:10px;transition:transform .2s,background .2s}
.hc-go:hover{background:#1c74cf}.hc-go:active{transform:scale(.98)}
.hc-go .hc-arr{transition:transform .25s}.hc-go:hover .hc-arr{transform:translateX(3px)}
.hc-own{display:flex;gap:12px;align-items:flex-start;margin-top:18px;color:#C9D6E2;font-size:.95rem;line-height:1.45;cursor:pointer}
.hc-own input{appearance:none;flex:none;width:22px;height:22px;border:2px solid #5E7894;border-radius:6px;margin:0;display:grid;place-items:center;cursor:pointer;transition:.2s}
.hc-own input:checked{background:var(--teal);border-color:var(--teal)}
.hc-own input:checked::after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translate(-1px,-1px)}
.hc-hint{min-height:22px;margin-top:10px;font-size:.88rem;color:#FCA5A5}
.hc-small{margin-top:20px;font-size:.85rem;color:#8EA3B8;line-height:1.5}
.hc-small a{color:#C9D6E2}
.hc-facts{display:flex;gap:28px;margin-top:34px;padding-top:26px;border-top:1px solid rgba(255,255,255,.1);flex-wrap:wrap}
.hc-facts[hidden]{display:none}.hc-facts div{font-size:.88rem;color:#9FB1C4}.hc-facts b{display:block;font:800 1.25rem var(--disp);color:#fff;margin-bottom:2px}

/* radar / scan visual */
.hc-scope{position:relative;aspect-ratio:1;max-width:460px;width:100%;justify-self:center}
.hc-scope svg{width:100%;height:100%;overflow:visible}
.hc-ring-bg{fill:none;stroke:rgba(255,255,255,.08);stroke-width:2}
.hc-ring-dash{fill:none;stroke:rgba(255,255,255,.12);stroke-width:1;stroke-dasharray:2 8}
.hc-ring-prog{fill:none;stroke:url(#hc-g);stroke-width:4;stroke-linecap:round;transform:rotate(-90deg);transform-origin:230px 230px;transition:stroke-dashoffset .6s cubic-bezier(.2,.7,.2,1)}
.hc-sweep{transform-origin:230px 230px;animation:hc-spin 3.2s linear infinite;opacity:0;transition:opacity .4s}
.hc-scanning .hc-sweep{opacity:1}
@keyframes hc-spin{to{transform:rotate(360deg)}}
.hc-node circle.dot{fill:var(--navy-mid);stroke:rgba(255,255,255,.25);stroke-width:2;transition:fill .4s,stroke .4s}
.hc-node text{font:600 13px var(--disp);fill:#9FB1C4;transition:fill .4s}
.hc-node.on circle.dot{stroke:#fff}
.hc-node.ok circle.dot{fill:var(--ok)}.hc-node.warn circle.dot{fill:var(--warn)}.hc-node.bad circle.dot{fill:var(--bad)}.hc-node.na circle.dot{fill:var(--na)}
.hc-node.done text{fill:#fff}
.hc-node .hc-pulse{fill:none;stroke:var(--blue);stroke-width:2;opacity:0}
.hc-node.on .hc-pulse{animation:hc-pulse 1.2s ease-out infinite}
@keyframes hc-pulse{0%{r:16;opacity:.8}100%{r:34;opacity:0}}
.hc-link{stroke:rgba(36,131,228,.0);stroke-width:1.5;transition:stroke .5s}
.hc-node.done + .hc-link,.hc-link.lit{stroke:rgba(18,168,152,.45)}
.hc-core-num{font:800 56px var(--disp);fill:#fff;text-anchor:middle}
.hc-core-lbl{font:600 13px var(--disp);fill:#9FB1C4;text-anchor:middle;letter-spacing:.12em;text-transform:uppercase}

/* live log */
.hc-log{margin-top:30px;max-width:560px;background:rgba(0,12,22,.55);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:18px 20px;font:13px/1.75 var(--mono);color:#9FB1C4;min-height:180px}
.hc-log .hc-l{opacity:0;transform:translateY(4px);transition:.35s}.hc-log .hc-l.in{opacity:1;transform:none}
.hc-log .hc-t{color:#5E7894;margin-right:10px}.hc-log .hc-k{color:#fff}.hc-log .hc-ok{color:#5EEAD4}.hc-log .hc-warn{color:#FBBF24}.hc-log .hc-bad{color:#FCA5A5}
.hc-caret{display:inline-block;width:8px;height:15px;background:var(--teal);vertical-align:-2px;animation:hc-blink 1s steps(1) infinite}
@keyframes hc-blink{50%{opacity:0}}

/* ---------- report (light, a document, not cards) ---------- */
.hc-report-zone{display:none;padding:0 24px 110px;margin-top:-70px;position:relative;z-index:2}.hc-report-zone.on{display:block}
.hc-stage.solo{min-height:100vh;display:flex;align-items:center}.hc-stage.solo>.hc-wrap{width:100%}
.hc-sheet{max-width:980px;margin:0 auto;background:#fff;border-radius:18px;box-shadow:0 30px 80px rgba(0,28,51,.14);overflow:hidden;opacity:0;transform:translateY(40px);transition:opacity .7s,transform .8s cubic-bezier(.2,.7,.2,1)}
.hc-sheet.show{opacity:1;transform:none}.hc-sheet.instant{transition:none}
.hc-sheet-head{display:flex;justify-content:space-between;gap:24px;padding:30px 44px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.hc-brandline{display:flex;align-items:center;gap:12px;font:800 1rem var(--disp);color:var(--navy)}
.hc-brandline img{height:30px}
.hc-meta{display:flex;gap:30px;font-size:.82rem;color:var(--muted);flex-wrap:wrap}
.hc-meta b{display:block;color:var(--navy);font:700 .92rem var(--disp);margin-top:3px}
.hc-verdict{display:grid;grid-template-columns:200px 1fr;gap:40px;align-items:center;padding:40px 44px 34px}
.hc-gauge{position:relative;width:200px;height:118px}
.hc-gauge svg{width:200px;height:118px}
.hc-g-bg{fill:none;stroke:var(--tint);stroke-width:16;stroke-linecap:round}
.hc-g-fg{fill:none;stroke:url(#hc-g2);stroke-width:16;stroke-linecap:round;transition:stroke-dashoffset 1.2s cubic-bezier(.2,.7,.2,1)}
.hc-gauge .hc-n{position:absolute;left:0;right:0;bottom:0;text-align:center;font:800 2.3rem/1 var(--disp);color:var(--navy)}
.hc-gauge .hc-n small{font-size:1rem;color:var(--muted);font-weight:700}
.hc-verdict .hc-vh{font-size:1.7rem;color:var(--navy);line-height:1.2}
.hc-verdict .hc-vp{color:var(--muted);line-height:1.6;margin:10px 0 0;max-width:56ch}
@media (max-width:720px){.hc-verdict{grid-template-columns:1fr;gap:20px;padding:30px 22px}.hc-sheet-head{padding:24px 22px}}

.hc-rows{border-top:1px solid var(--line)}
.hc-row{border-bottom:1px solid var(--line)}
.hc-row>button{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:grid;grid-template-columns:28px 210px 1fr 24px;gap:18px;align-items:center;padding:22px 44px;transition:background .2s}
.hc-row>button:hover{background:#F7FAFC}
.hc-row>button:focus-visible{outline:3px solid rgba(36,131,228,.4);outline-offset:-3px}
.hc-st{width:14px;height:14px;border-radius:50%;justify-self:center;box-shadow:0 0 0 5px rgba(0,0,0,.04)}
.hc-st.ok{background:var(--ok);box-shadow:0 0 0 5px rgba(18,168,152,.14)}.hc-st.warn{background:var(--warn);box-shadow:0 0 0 5px rgba(217,119,6,.14)}.hc-st.bad{background:var(--bad);box-shadow:0 0 0 5px rgba(220,38,38,.12)}.hc-st.na{background:var(--na)}
.hc-row .hc-name{font:700 1rem var(--disp);color:var(--navy)}
.hc-row .hc-find{color:var(--ink);line-height:1.45}
.hc-row .hc-find em{font-style:normal;font-family:var(--mono);font-size:.9em;background:var(--tint);padding:1px 7px;border-radius:5px}
.hc-chev{transition:transform .3s;color:var(--muted)}
.hc-row.open .hc-chev{transform:rotate(180deg)}
.hc-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}
.hc-row.open .hc-more{grid-template-rows:1fr}
.hc-more>div{overflow:hidden}
.hc-more p{margin:0;padding:0 44px 24px calc(44px + 28px + 18px + 210px + 18px);color:var(--muted);line-height:1.6;max-width:none}
@media (max-width:720px){.hc-row>button{grid-template-columns:22px 1fr 20px;padding:18px 22px;gap:12px}.hc-row .hc-find{grid-column:2/3}.hc-row .hc-name{grid-column:2/3}.hc-st{grid-row:1/3;align-self:start;margin-top:4px}.hc-chev{grid-row:1/3;grid-column:3}.hc-more p{padding:0 22px 20px 56px}}

.hc-honest{margin:0;padding:18px 44px;background:#F7FAFC;border-bottom:1px solid var(--line);font-size:.86rem;color:var(--muted);line-height:1.55}
@media (max-width:720px){.hc-honest{padding:16px 22px}}

/* locked improvement points + form */
.hc-locked{display:grid;grid-template-columns:1fr 1fr;gap:0}
@media (max-width:820px){.hc-locked{grid-template-columns:1fr}}
.hc-points{padding:38px 44px;position:relative;border-right:1px solid var(--line)}
.hc-points h3{font-size:1.25rem;color:var(--navy);margin-bottom:18px}
.hc-pt{display:flex;gap:16px;padding:16px 0;border-top:1px dashed var(--line)}
.hc-pt b{flex:none;width:34px;height:34px;border-radius:9px;background:var(--navy);color:#fff;font:800 .95rem var(--disp);display:grid;place-items:center}
.hc-pt span{filter:blur(5px);user-select:none;color:var(--ink);line-height:1.45;transition:filter .8s}
.hc-unlocked .hc-pt span{filter:none}
.hc-lockbadge{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font:700 .82rem var(--disp);color:var(--muted)}
.hc-formcol{padding:38px 44px;background:linear-gradient(180deg,#fff,#F7FAFC)}
@media (max-width:720px){.hc-points,.hc-formcol{padding:28px 22px}}
.hc-formcol h3{font-size:1.25rem;color:var(--navy)}
.hc-formcol>p{color:var(--muted);line-height:1.55;margin:8px 0 22px}
.hc-f{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hc-f .hc-full{grid-column:1/-1}
@media (max-width:520px){.hc-f{grid-template-columns:1fr}}
.hc-fld{position:relative}
.hc-fld input{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:22px 14px 8px;font:500 1rem inherit;font-family:inherit;color:var(--navy);background:#fff;outline:0;transition:border-color .2s,box-shadow .2s}
.hc-fld label{position:absolute;left:15px;top:15px;font-size:.95rem;color:var(--muted);pointer-events:none;transition:.18s}
.hc-fld input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(36,131,228,.14)}
.hc-fld input:focus+label,.hc-fld input:not(:placeholder-shown)+label{top:7px;font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--blue)}
.hc-fld input[readonly]{background:var(--tint)}
.hc-chk{display:flex;gap:12px;align-items:flex-start;font-size:.88rem;color:var(--ink);line-height:1.45;margin-top:4px;cursor:pointer}
.hc-chk input{appearance:none;flex:none;width:20px;height:20px;border:2px solid #A9B8C7;border-radius:6px;margin:1px 0 0;display:grid;place-items:center;cursor:pointer}
.hc-chk input:checked{background:var(--teal);border-color:var(--teal)}
.hc-chk input:checked::after{content:"";width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translate(-1px,-1px)}
.hc-chk a{color:var(--blue)}
.hc-send{margin-top:20px;width:100%;border:0;cursor:pointer;background:var(--navy);color:#fff;font:700 1rem var(--disp);padding:17px;border-radius:12px;display:flex;justify-content:center;gap:10px;transition:background .2s}
.hc-send:hover{background:var(--blue)}
.hc-ferr{min-height:20px;margin-top:10px;font-size:.85rem;color:var(--bad)}

/* done state */
.hc-donebox{display:none;padding:56px 44px;text-align:center}
.hc-sheet.sent .hc-locked{display:none}.hc-sheet.sent .hc-donebox{display:block}
.hc-stamp{display:inline-flex;align-items:center;gap:12px;border:2px solid var(--teal);color:var(--teal);border-radius:12px;padding:12px 20px;font:800 .95rem var(--disp);letter-spacing:.08em;text-transform:uppercase;transform:rotate(-2deg)}
.hc-donebox h3{font-size:1.6rem;color:var(--navy);margin:26px 0 10px}
.hc-donebox p{color:var(--muted);line-height:1.6;max-width:52ch;margin:0 auto}
.hc-timeline{display:flex;justify-content:center;gap:0;margin:34px auto 0;max-width:640px}
.hc-timeline div{flex:1;position:relative;padding-top:30px;font-size:.85rem;color:var(--muted)}
.hc-timeline div::before{content:"";position:absolute;top:6px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:#fff;border:3px solid var(--line)}
.hc-timeline div::after{content:"";position:absolute;top:12px;left:calc(50% + 10px);right:calc(-50% + 10px);height:2px;background:var(--line)}
.hc-timeline div:last-child::after{display:none}
.hc-timeline div.on::before{border-color:var(--teal);background:var(--teal)}
.hc-timeline b{display:block;color:var(--navy);font:700 .9rem var(--disp)}

@media (max-width:560px){.hc-addr{flex-wrap:wrap;padding:6px 6px 6px 14px}.hc-addr .hc-pre{display:none}.hc-addr input{flex:1 1 70%}.hc-go{flex:1 1 100%;justify-content:center;margin-top:4px}.hc-node text{font-size:21px}.hc-core-lbl{font-size:16px}}
@media (prefers-reduced-motion:reduce){.hc-stage *,.hc-report-zone *{animation:none!important;transition:none!important}}

/* CF7 form 62 inside the report (CF7 markup, not ours) */
.hc-formcol .wpcf7 p{margin:0 0 12px}
.hc-formcol .wpcf7 label{display:block;font-size:.85rem;font-weight:600;color:var(--navy)}
.hc-formcol .wpcf7 input[type=text],.hc-formcol .wpcf7 input[type=email],.hc-formcol .wpcf7 input[type=tel],.hc-formcol .wpcf7 input[type=url],.hc-formcol .wpcf7 textarea{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;font:inherit;font-size:1rem;color:var(--navy);background:#fff;margin-top:6px;outline:0;transition:border-color .2s,box-shadow .2s}
.hc-formcol .wpcf7 input:focus,.hc-formcol .wpcf7 textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(36,131,228,.14)}
.hc-formcol .wpcf7 input[readonly]{background:var(--tint)}
.hc-formcol .wpcf7 .wpcf7-list-item{margin:0}
.hc-formcol .wpcf7 .wpcf7-list-item label{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.88rem;line-height:1.45;color:var(--ink)}
.hc-formcol .wpcf7 input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--teal);flex:none}
.hc-formcol .wpcf7 input[type=submit]{width:100%;border:0;cursor:pointer;background:var(--navy);color:#fff;font:700 1rem var(--disp);padding:17px;border-radius:12px;margin-top:8px;transition:background .2s}
.hc-formcol .wpcf7 input[type=submit]:hover{background:var(--blue)}
.hc-formcol .wpcf7-not-valid-tip{color:var(--bad);font-size:.82rem;margin-top:4px}
.hc-formcol .wpcf7 form .wpcf7-response-output{margin:14px 0 0;border-radius:10px;font-size:.88rem}
.hc-err{background:#FFF7ED;border:1px solid #FED7AA;color:#7C2D12;border-radius:12px;padding:14px 16px;margin-top:16px;font-size:.92rem;line-height:1.5;max-width:560px}
.hc-err b{font-family:var(--disp)}
.hc-sheet.no-result .hc-gauge,.hc-sheet.no-result .hc-honest,.hc-sheet.no-result .hc-points,.hc-sheet.no-result .hc-rows{display:none}
.hc-sheet.no-result .hc-verdict{grid-template-columns:1fr}
.hc-sheet.no-result .hc-locked{grid-template-columns:1fr}
.hc-sheet.no-result .hc-formcol{max-width:620px;margin:0 auto;background:none}
