/* Shared page furniture: FAQ, legal pages, footer links, not-found page. */
.threat-inspector .inspector-title{font-size:17px;font-weight:700;line-height:1.65;margin:4px 0;color:#28446e}
.priority-critical{--length:88%;--bar:#c1dd94}.priority-high{--length:61%;--bar:#6cb59c}.priority-medium{--length:37%;--bar:#355b50}

.faq-list{max-width:880px}
.faq-list details{border-bottom:1px solid #d6e1f3}
.faq-list details:first-child{border-top:1px solid #d6e1f3}
.faq-list summary{list-style:none;display:flex;align-items:center;gap:20px;padding:22px 0;cursor:pointer;color:#17284c}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.faq-list summary h3{font:500 18px/1.4 'DM Sans',sans-serif;margin:0}
.faq-list .expand{margin-left:auto;font-size:23px;color:#7092c9;transition:transform .3s}
.faq-list details[open] .expand{transform:rotate(45deg)}
.faq-answer{padding:0 44px 24px 0;max-width:740px;font-size:15px;line-height:1.8;color:#566a8c}
.faq-answer p{margin:0 0 10px}
.faq-answer a,.legal a,.consent a,.form-privacy a{color:#2855e8;text-decoration:underline;text-underline-offset:3px}

.form-privacy{font-size:12px;line-height:1.7;color:#6f809d;margin:14px 0 0}
.footer a.footer-link{font-size:12px;color:#5a6a88;text-decoration:underline;text-underline-offset:3px}
.footer a.footer-link:hover{color:var(--accent)}

.page-header{justify-content:space-between}
.back-link{font-size:14px;color:#4f5d77;padding:10px 0}
.back-link:hover{color:var(--accent)}
.legal{max-width:800px;padding-block:64px 96px}
.legal h1{font:550 clamp(38px,4.6vw,56px)/1.1 Manrope,sans-serif;letter-spacing:-2.2px;margin:18px 0 14px}
.legal-meta{font-size:13px;color:#6f809d;margin:0}
.legal h2{font:550 25px/1.3 Manrope,sans-serif;letter-spacing:-.6px;margin:52px 0 12px;scroll-margin-top:24px}
.legal h3{font-size:17px;margin:28px 0 8px;color:#28446e}
.legal p,.legal li{font-size:16px;line-height:1.75;color:#44557a}
.legal ul{padding-left:20px;margin:10px 0}
.legal li{margin-bottom:6px}
.legal-summary{background:#f5f8ff;border:1px solid #dce6f8;border-left:2px solid #2855e8;border-radius:8px;padding:20px 24px;margin:30px 0 8px}
.legal-summary p{margin:0 0 8px;font-size:15px}
.legal-summary ul{margin:0}
.legal-summary li{font-size:15px}
.legal-toc{columns:2;column-gap:40px;padding:0;margin:26px 0 0;list-style:none;font-size:14px}
.legal-toc li{font-size:14px;margin-bottom:8px;break-inside:avoid}
.table-scroll{overflow-x:auto;margin:14px 0}
.legal table{border-collapse:collapse;width:100%;min-width:560px;font-size:14px}
.legal th,.legal td{text-align:left;vertical-align:top;padding:11px 14px 11px 0;border-bottom:1px solid #e0e8f5;line-height:1.6;color:#44557a}
.legal th{font-size:12px;letter-spacing:.6px;font-weight:600;color:#6f809d}

.not-found{min-height:62vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-block:70px}
.not-found h1{font:550 clamp(42px,6vw,72px)/1.08 Manrope,sans-serif;letter-spacing:-3px;margin:22px 0 14px}
.not-found p{color:#63708a;max-width:460px;margin:0 0 30px}

@media(max-width:800px){.legal{padding-block:44px 64px}.legal-toc{columns:1}.faq-list summary h3{font-size:16px}.faq-answer{padding-right:0}}

/* Team */
.team-layout{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:28px;align-items:stretch}
.team-intro{padding-right:28px;align-self:start}
.team-intro p{color:var(--muted);font-size:16px;max-width:330px;margin:22px 0 0}
.team-card{margin:0;border:1px solid #e0e7f3;border-radius:14px;overflow:hidden;background:#fff;transition:box-shadow .45s,border-color .3s}
.team-card:hover{box-shadow:0 16px 45px #284fa114;border-color:#a9c0f2}
.team-card img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;background:#eef3fb}
.team-body{padding:20px 22px 22px}
.team-body h3{font:550 21px/1.3 Manrope,sans-serif;letter-spacing:-.5px;margin:0}
.team-role{font-size:14px;line-height:1.5;color:#5a6a88;margin:5px 0 0}
.team-link{display:inline-block;margin-top:14px;font-size:13px;color:#2855e8;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px){.team-layout{grid-template-columns:1fr 1fr}.team-intro{grid-column:1/-1;padding:0 0 10px}}
@media(max-width:520px){.team-layout{grid-template-columns:1fr}}

/* Icons: one drawn set (icons.svg) instead of text characters, sized by the font size of their holder. */
.icon{width:1em;height:1em;flex:none;display:inline-block;vertical-align:-.14em;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.button span,.text-button span,.menu-toggle span,.resource-link span,.response-flow b,.node-icon,.graph-mark,.window-dots,.tiny-cross,.expand,.review-symbol{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.button span{font-size:18px}.button:hover span{transform:translateX(4px)}
.menu-toggle span{font-size:19px}
.tiny-cross{font-size:15px}.tiny-cross .icon{stroke-width:2.2}
.play{font-size:9px}.play .icon{margin-left:1px}
.platform-note .text-button span{font-size:15px;transition:transform .25s}.platform-note .text-button:hover span{transform:translateX(3px)}
.graph-mark{font-size:19px}
.window-dots{font-size:20px;letter-spacing:0}
.scene-pause{font-size:12px}
.node-icon{font-size:17px}
.review-symbol{font-size:23px}
.feature-icon{font-size:21px}.feature-icon .icon{stroke-width:1.75}
.response-flow b{font-size:15px;color:#8ea6d2}
.expand{font-size:19px}.faq-list .expand{font-size:19px}
.dialog-close{font-size:20px;width:40px;height:40px;display:grid;place-items:center;border-radius:8px}.dialog-close:hover{background:#f1f5fd}
.contact-note>span{font-size:17px}
.resource-link span{font-size:15px;transition:transform .25s}.resource-card:hover .resource-link span{transform:translate(2px,-2px)}
.resource-art>b{width:48px;height:48px;flex:none;display:grid;place-items:center;border-radius:50%;font-size:20px;background:#ffffffc7;border:1px solid #c6d6f5;color:#2855e8;box-shadow:0 4px 14px #2855e812;transition:transform .3s,background .3s,color .3s,border-color .3s}
.art-two>b{border-color:#b5dde1;color:#177f8a;box-shadow:0 4px 14px #138e9912}
.resource-card:hover .resource-art>b{transform:translate(3px,-3px);background:#2855e8;border-color:#2855e8;color:#fff}
.resource-card:hover .art-two>b{background:#177f8a;border-color:#177f8a}
.source-note .icon,.team-link .icon{margin-left:3px;font-size:.95em}
.back-link .icon{margin-right:7px}
@media(max-width:1100px){.node-icon{font-size:15px}}
@media(max-width:800px){.node-icon{font-size:17px}}
@media(max-width:480px){.node-icon{font-size:14px}.review-symbol{font-size:19px}.resource-art>b{width:42px;height:42px;font-size:18px}}

/* Contact details */
.contact-details{list-style:none;padding:0;margin:38px 0 0;max-width:430px;border-top:1px solid #dfe6f0}
.contact-details li{display:flex;align-items:center;gap:16px;padding:17px 0;border-bottom:1px solid #dfe6f0}
.contact-icon{width:40px;height:40px;flex:none;display:grid;place-items:center;border:1px solid #c8d8f5;border-radius:50%;background:#fff;color:var(--accent);font-size:17px}
.contact-label{display:block;font-size:11px;letter-spacing:1.4px;color:#6f809d;margin-bottom:2px}
.contact-details a,.contact-details address{font-style:normal;font-size:16px;line-height:1.5;color:#17284c}
.contact-details a{text-decoration:underline;text-decoration-color:#b9c9ea;text-underline-offset:4px;transition:color .2s,text-decoration-color .2s}
.contact-details a:hover{color:var(--accent);text-decoration-color:var(--accent)}
.footer{flex-wrap:wrap}
.footer-address{flex-basis:100%;order:9;font-style:normal;font-size:12px;line-height:1.7;color:#6f809d;margin-top:-4px}
.footer-address a{color:#5a6a88;text-decoration:underline;text-underline-offset:3px}
.footer-address a:hover{color:var(--accent)}
