.hero-visual{min-height:520px;display:grid;place-items:center;position:relative}.radar{position:absolute;border:1px solid rgba(21,32,51,.15);border-radius:50%;animation:spin 24s linear infinite}.radar-one{width:480px;height:480px}.radar-two{width:340px;height:340px;animation-direction:reverse;animation-duration:16s}.radar:before,.radar:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--accent);top:50%;left:-6px}.radar:after{left:auto;right:-6px;background:var(--ink)}@keyframes spin{to{transform:rotate(360deg)}}.decision-card{position:relative;z-index:2;width:min(440px,92%);background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:26px}.card-label{font-size:11px;letter-spacing:.12em;color:var(--muted);font-weight:800}.decision-pair{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;margin:24px 0}.decision-pair>div{border:1px solid var(--line);border-radius:16px;padding:20px;text-align:center;background:#fff}.decision-pair b{display:block;font-size:22px;letter-spacing:-.04em}.decision-pair small{color:var(--muted)}.decision-pair>span{font-family:Georgia,serif;font-style:italic;color:var(--muted)}.winner-line{border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;justify-content:space-between}.winner-line small{display:block;color:var(--muted);letter-spacing:.09em;font-size:10px}.winner-line strong{font-size:21px}.score-orb{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-family:Georgia,serif;font-size:21px}
.stats-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.55)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stats-grid div{padding:24px;border-right:1px solid var(--line)}.stats-grid div:last-child{border-right:0}.stats-grid strong{display:block;font-family:Georgia,serif;font-size:34px}.stats-grid span{color:var(--muted);font-size:13px}
.section{padding:110px 0}.section-heading{margin-bottom:46px}.section-heading h2{font-size:clamp(50px,6vw,78px);line-height:.96}.split-heading{display:grid;grid-template-columns:1fr .75fr;gap:60px;align-items:end}.split-heading>p{color:var(--muted);font-size:17px;line-height:1.7;margin:0 0 6px}.panel{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 10px 40px rgba(21,32,51,.05)}
.directory-toolbar{padding:14px;display:grid;grid-template-columns:1fr 220px;gap:12px}.search-box{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:0 14px;background:#fff}.search-box span{font-size:22px;color:var(--muted)}.search-box input{border:0;outline:0;background:transparent;width:100%;padding:14px 0;font:inherit;color:var(--ink)}.directory-toolbar select{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px;font:inherit;color:var(--ink)}.category-chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;font:inherit;font-size:13px;font-weight:750;color:var(--muted);cursor:pointer}.chip.active{background:var(--ink);border-color:var(--ink);color:#fff}.directory-meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:13px;margin-bottom:14px}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tool-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;min-height:355px;transition:.2s}.tool-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(21,32,51,.07)}.tool-card-top{display:flex;justify-content:space-between;gap:14px}.tool-card h3{font-size:26px;letter-spacing:-.045em;margin:4px 0 0}.tool-card>p{color:var(--muted);line-height:1.55}.favorite-btn{border:0;background:transparent;font-size:24px;color:var(--muted);cursor:pointer}.favorite-btn.on{color:var(--accent)}.badge{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:var(--green);background:#eaf7f1;border-radius:999px;padding:7px 9px}.mini-meta,.summary-meta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 15px}.mini-meta span,.summary-meta span{background:#f0f3f6;color:var(--muted);font-size:11px;border-radius:999px;padding:6px 8px}.fit-line{border-top:1px solid var(--line);padding-top:14px}.fit-line small{display:block;color:var(--muted);font-size:9px;letter-spacing:.09em}.fit-line strong{display:block;font-size:13px;line-height:1.4;margin-top:5px}.score-mini{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:16px}.score-mini span{font-size:12px;color:var(--muted)}.score-mini b{font-family:Georgia,serif;font-size:24px}.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.select-compare{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:10px;padding:10px;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.select-compare.selected{background:#eaf7f1;color:var(--green);border-color:#bfe1d3}.empty-directory{grid-column:1/-1;padding:50px;text-align:center;background:#fff;border:1px dashed var(--line);border-radius:18px;color:var(--muted)}
