/* IT Check presentation only. Questions, scoring, submission and measurement are unchanged. */
.pc24-it-check {
  --check-ink:var(--color-text); --check-muted:var(--color-muted);
  --check-blue:var(--color-primary-dark); --check-line:var(--color-border);
  position:relative; min-height:calc(100svh - 72px); color:var(--check-ink); background:var(--color-surface-alt);
}
.pc24-it-check [hidden] { display:none!important; }
.pc24-it-check :is(button,input,textarea) { font:inherit; }
.pc24-it-check button { cursor:pointer; }
.pc24-it-check button:disabled { cursor:not-allowed; opacity:.55; }
.pc24-it-check__container { padding-top:20px; padding-bottom:var(--space-2xl); }
.pc24-it-check__topline { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; padding-bottom:20px; border-bottom:1px solid var(--check-line); font-size:var(--text-small); color:var(--check-muted); }
.pc24-it-check__brand { font-weight:650; color:var(--check-ink); }
.pc24-it-check__brand span { display:none; }
.pc24-it-check__secure { font-size:var(--text-label); line-height:1.5; }
.pc24-it-check__secure i { display:none; }
.pc24-it-check__landing { display:grid; grid-template-columns:minmax(0,1fr); gap:40px; padding-top:36px; }
.pc24-it-check__landing-copy { min-width:0; }
.pc24-it-check__landing h1 { max-width:18ch; margin-bottom:24px; font-size:var(--text-display); line-height:1.12; }
.pc24-it-check__subtitle { max-width:56ch; margin-bottom:28px!important; color:var(--check-muted); font-size:var(--text-body-large); line-height:1.65; }
.pc24-it-check__start { width:100%; min-height:56px; }
.pc24-it-check__trust { display:flex; flex-wrap:wrap; gap:10px 24px; margin:20px 0 14px; color:var(--check-ink); font-size:var(--text-small); }
.pc24-it-check__trust span::before { content:"✓"; color:var(--check-blue); margin-right:8px; }
.pc24-it-check__disclaimer { color:var(--check-muted); font-size:var(--text-small); }
.pc24-it-check__visual { background:var(--color-dark); color:var(--color-on-dark); padding:28px; border-radius:var(--radius-lg); }
.pc24-it-check__visual-title { font-size:var(--text-label); text-transform:uppercase; letter-spacing:.1em; color:var(--color-cyan); }
.pc24-it-check__visual-number { display:block; color:#fff; font-size:64px; font-weight:650; letter-spacing:-.05em; line-height:1.15; margin-block:20px 8px; }
.pc24-it-check__visual ul { list-style:none; padding:0; margin:28px 0 0; }
.pc24-it-check__visual li { display:flex; gap:14px; align-items:center; padding:16px 0; border-top:1px solid #41536c; font-size:var(--text-body); }
.pc24-it-check__visual li span { color:var(--color-cyan); font:500 .8125rem/1 ui-monospace,monospace; }
.pc24-it-check__business-context { grid-column:1/-1; border-top:1px solid var(--check-line); padding-top:36px; }
.pc24-it-check__business-context h2 { max-width:36ch; font-size:var(--text-h3); }
.pc24-it-check__business-context p { max-width:var(--reading-width); color:var(--check-muted); }
.pc24-it-check__business-context a { display:inline-flex; align-items:center; min-height:44px; color:var(--check-blue); text-decoration:underline; text-underline-offset:4px; }

/* Questions: one legible touch target per row on phones. */
.pc24-it-check__quiz { max-width:880px; margin:0 auto; padding-top:32px; }
.pc24-it-check__progress-wrap { margin-bottom:24px; }
.pc24-it-check__progress-meta { display:flex; justify-content:space-between; gap:20px; color:var(--check-muted); font-size:var(--text-small); margin-bottom:12px; }
.pc24-it-check__progress { height:5px; overflow:hidden; background:var(--check-line); border-radius:8px; }
.pc24-it-check__progress i { display:block; height:100%; width:10%; background:var(--check-blue); transition:width 160ms; }
.pc24-it-check__question-card { padding:24px 20px; border:1px solid var(--check-line); border-radius:var(--radius-md); background:#fff; }
.pc24-it-check__question-number { display:block; color:var(--check-blue); font:600 .8125rem/1.5 ui-monospace,monospace; margin-bottom:16px; }
.pc24-it-check__question-card h2 { max-width:30ch; margin:0; font-size:clamp(1.5rem,1.23rem + 1.4vw,2.3rem); line-height:1.25; letter-spacing:-.025em; }
.pc24-it-check__question-help { margin:16px 0 0!important; color:var(--check-muted); font-size:var(--text-body); }
.pc24-it-check__options { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; margin-top:28px; }
.pc24-it-check__option { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 22px; gap:12px; align-items:center; min-height:64px; padding:16px 14px; border:1px solid #a8b7ca; border-radius:var(--radius-sm); color:var(--check-ink); background:#fff; cursor:pointer; transition:border-color 160ms,background-color 160ms; }
.pc24-it-check__option:focus-within { outline:3px solid var(--color-primary); outline-offset:3px; }
.pc24-it-check__option.is-selected { border-color:var(--check-blue); background:var(--color-surface-alt); box-shadow:inset 0 0 0 1px var(--check-blue); }
.pc24-it-check__option input { position:absolute; width:1px; height:1px; opacity:0; }
.pc24-it-check__option-marker { display:none; }
.pc24-it-check__option-text { font-size:var(--text-body); line-height:1.5; font-weight:500; overflow-wrap:break-word; }
.pc24-it-check__option-check { display:grid; place-items:center; width:22px; height:22px; border:1px solid #8294ab; border-radius:50%; color:transparent; font-size:14px; }
.pc24-it-check__option:has(input[type="checkbox"]) .pc24-it-check__option-check { border-radius:5px; }
.pc24-it-check__option.is-selected .pc24-it-check__option-check { color:#fff; background:var(--check-blue); border-color:var(--check-blue); }
.pc24-it-check__question-actions { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; margin-top:28px; }
.pc24-it-check__back,.pc24-it-check__restart { display:inline-flex; min-height:44px; align-items:center; gap:10px; padding:10px 4px; border:0; color:var(--check-muted); background:transparent; font-size:var(--text-small); font-weight:600; }
.pc24-it-check__continue { min-height:48px; }
.pc24-it-check__restart { margin-top:24px; }

/* Loading and recoverable error. No simulated monitoring UI. */
.pc24-it-check__loading { display:grid; place-items:center; align-content:center; min-height:480px; padding:56px 0; text-align:center; }
.pc24-it-check__loading h2 { max-width:24ch; font-size:var(--text-h2); }
.pc24-it-check__loading>p { max-width:55ch; color:var(--check-muted); }
.pc24-it-check__scanner { width:48px; height:48px; border:3px solid var(--check-line); border-top-color:var(--check-blue); border-radius:50%; margin-bottom:28px; animation:check-progress 1s linear infinite; }
.pc24-it-check__scanner :is(i,span) { display:none; }
.pc24-it-check__loading-steps { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:24px; color:var(--check-muted); font-size:var(--text-small); }
.pc24-it-check__loading-error { margin-top:28px; padding:24px; border:1px solid #b12b2b; border-radius:var(--radius-sm); background:#fff; color:#b12b2b; }
.pc24-it-check__loading-error>div { display:flex; flex-wrap:wrap; justify-content:center; gap:16px; }
@keyframes check-progress { to { transform:rotate(360deg); } }

/* Results and enquiry use the same type, spacing and field system. */
.pc24-it-check__result { max-width:1080px; margin:0 auto; padding-top:32px; }
.pc24-it-check__result-head { display:grid; grid-template-columns:minmax(0,1fr); justify-items:start; gap:24px; padding:28px 24px; border:1px solid var(--check-line); border-radius:var(--radius-md); background:#fff; }
.pc24-it-check__score { --score:0deg; position:relative; display:grid; place-items:center; width:132px; height:132px; border-radius:50%; background:conic-gradient(var(--risk-color,var(--check-blue)) var(--score),var(--check-line) 0); }
.pc24-it-check__score::before { content:""; position:absolute; inset:7px; border-radius:50%; background:#fff; }
.pc24-it-check__score>div { position:relative; display:flex; align-items:baseline; }
.pc24-it-check__score strong { font-size:44px; line-height:1; letter-spacing:-.045em; }
.pc24-it-check__score span { color:var(--check-muted); font-size:var(--text-small); margin-left:4px; }
.pc24-it-check__result-head h2 { color:var(--risk-color,var(--check-blue)); font-size:var(--text-h2); margin-bottom:16px; }
.pc24-it-check__result-head p { margin:0!important; color:var(--check-muted); }
.pc24-it-check[data-risk="low"] { --risk-color:#087c5b; }
.pc24-it-check[data-risk="moderate"] { --risk-color:#855700; }
.pc24-it-check[data-risk="high"] { --risk-color:#a94d0b; }
.pc24-it-check[data-risk="critical"] { --risk-color:#b12b2b; }
.pc24-it-check__result-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; margin-top:24px; }
.pc24-it-check__findings,.pc24-it-check__priorities { min-width:0; padding:28px 24px; border:1px solid var(--check-line); border-radius:var(--radius-md); background:#fff; }
.pc24-it-check__section-heading { display:flex; align-items:baseline; gap:12px; margin-bottom:24px; }
.pc24-it-check__section-heading>span { flex:0 0 auto; color:var(--check-blue); font:500 .8125rem/1.5 ui-monospace,monospace; }
.pc24-it-check__section-heading h3 { font-size:var(--text-h3); margin:0; }
.pc24-it-check__findings ul { display:grid; gap:20px; margin:0; padding:0; list-style:none; }
.pc24-it-check__findings li { display:grid; grid-template-columns:20px minmax(0,1fr); gap:12px; }
.pc24-it-check__findings li>span { font-weight:700; }
.pc24-it-check__findings li.is-risk>span { color:#b12b2b; }
.pc24-it-check__findings li.is-positive>span { color:#087c5b; }
.pc24-it-check__findings li p { margin:0!important; font-size:var(--text-body); line-height:1.6; }
.pc24-it-check__priorities ol { display:grid; gap:20px; list-style:none; margin:0; padding:0; counter-reset:priority; }
.pc24-it-check__priorities li { position:relative; padding:0 0 20px 32px; border-bottom:1px solid var(--check-line); counter-increment:priority; }
.pc24-it-check__priorities li:last-child { border-bottom:0; padding-bottom:0; }
.pc24-it-check__priorities li::before { content:"0" counter(priority); position:absolute; left:0; top:3px; color:var(--check-blue); font:500 .8125rem/1.5 ui-monospace,monospace; }
.pc24-it-check__lead-card { display:grid; gap:32px; margin-top:40px; padding:28px 24px; border:1px solid var(--check-line); border-radius:var(--radius-md); background:#fff; }
.pc24-it-check__lead-card h2 { font-size:var(--text-h2); }
.pc24-it-check__lead-copy>p { color:var(--check-muted); }
.pc24-it-check__lead-copy ul { display:grid; gap:12px; list-style:none; margin:24px 0 0; padding:0; }
.pc24-it-check__lead-copy li { position:relative; padding-left:24px; font-size:var(--text-small); }
.pc24-it-check__lead-copy li::before { content:"✓"; position:absolute; left:0; color:var(--check-blue); }
.pc24-it-check__form { position:relative; display:grid; grid-template-columns:minmax(0,1fr); gap:20px; min-width:0; }
.pc24-it-check__field { display:grid; gap:8px; min-width:0; }
.pc24-it-check__field label { font-size:var(--text-small); font-weight:600; }
.pc24-it-check__field label span { color:var(--check-muted); font-weight:400; }
.pc24-it-check__field :is(input,textarea) { width:100%; min-width:0; min-height:52px; padding:13px 14px; border:1px solid #a8b7ca; border-radius:var(--radius-sm); color:var(--check-ink); background:#fff; }
.pc24-it-check__field textarea { min-height:112px; resize:vertical; }
.pc24-it-check__field :is(input,textarea):focus { border-color:var(--check-blue); }
.pc24-it-check__honeypot { position:absolute!important; width:1px!important; height:1px!important; clip-path:inset(50%)!important; overflow:hidden!important; }
.pc24-it-check__consent { display:flex; align-items:flex-start; gap:12px; min-height:44px; font-size:var(--text-small); line-height:1.6; }
.pc24-it-check__consent input { flex:0 0 auto; width:20px; height:20px; margin-top:3px; accent-color:var(--check-blue); }
.pc24-it-check__consent a { color:var(--check-blue); text-decoration:underline; text-underline-offset:3px; }
.pc24-it-check__submit { width:100%; min-height:56px; }
.pc24-it-check__privacy { margin:0!important; color:var(--check-muted); font-size:var(--text-small); line-height:1.6; }
.pc24-it-check__form-status { padding:20px; border:1px solid currentColor; border-radius:var(--radius-sm); font-size:var(--text-body); }
.pc24-it-check__form-status.is-success { color:#087c5b; background:#f4fbf8; }
.pc24-it-check__form-status.is-error { color:#b12b2b; background:#fff5f4; }
.pc24-it-check__noscript { margin-top:32px; padding:24px; border:1px solid var(--check-line); border-radius:var(--radius-sm); background:#fff; }
.pc24-it-check__noscript a { color:var(--check-blue); text-decoration:underline; }
@media (min-width:600px) {
  .pc24-it-check__brand span { display:inline; margin-right:16px; font-weight:400; }
  .pc24-it-check__start { width:auto; }
  .pc24-it-check__form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pc24-it-check__field--wide { grid-column:1/-1; }
  .pc24-it-check__result-head { grid-template-columns:132px minmax(0,1fr); align-items:center; }
}
@media (min-width:768px) {
  .pc24-it-check__container { padding-top:24px; }
  .pc24-it-check__landing { padding-top:64px; gap:48px; }
  .pc24-it-check__question-card { padding:40px; }
  .pc24-it-check__options { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .pc24-it-check__option { min-height:80px; padding:20px; }
  .pc24-it-check__quiz,.pc24-it-check__result { padding-top:48px; }
  .pc24-it-check__result-head,.pc24-it-check__findings,.pc24-it-check__priorities,.pc24-it-check__lead-card { padding:36px; }
  .pc24-it-check__visual { padding:40px; }
}
@media (min-width:1024px) {
  .pc24-it-check__landing { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); align-items:center; gap:64px; }
  .pc24-it-check__result-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pc24-it-check__lead-card { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:40px; }
}
@media (hover:hover) and (pointer:fine) { .pc24-it-check__option:hover { border-color:var(--check-blue); background:var(--color-surface-alt); } }
@media (prefers-reduced-motion:reduce) { .pc24-it-check *, .pc24-it-check *::before,.pc24-it-check *::after { animation:none!important; transition:none!important; } }
