:root { --ink:#171717; --muted:#6b6b6b; --line:#e7e7e7; --wash:#f7f7f5; --card:#fff; --green:#10a37f; --green-pale:#e7f7f1; --risk:#9b5c00; --max:1180px; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
.search input { min-width:0; }
.search-support { margin:14px 4px 0; color:var(--muted); font-size:13px; }
.search-support button { text-decoration:underline; text-underline-offset:3px; }
.text-button:focus-visible { outline:2px solid var(--green); outline-offset:4px; }
.text-button:disabled { opacity:.5; cursor:wait; }
.empty-state { margin-top:20px; padding:20px; border:1px solid var(--line); border-radius:12px; background:var(--wash); overflow-wrap:anywhere; }
.empty-state p { margin:0 0 12px; }
.empty-state-title { font-weight:650; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height:1.5; }
.site-header { height:72px; max-width:var(--max); margin:0 auto; padding:0 28px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { color:var(--ink); text-decoration:none; font-size:17px; font-weight:760; letter-spacing:-.04em; }.brand span { color:var(--green); }.header-meta { color:var(--muted); font-size:13px; display:flex; gap:8px; align-items:center; }.status-dot { width:8px; height:8px; background:var(--green); border-radius:50%; }
main { max-width:var(--max); margin:0 auto; padding:0 28px 80px; }.hero { max-width:880px; padding:94px 0 74px; }.eyebrow { margin:0 0 12px; color:var(--muted); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.hero h1 { max-width:780px; margin:0; font-size:clamp(42px, 6vw, 68px); letter-spacing:-.065em; line-height:1.02; font-weight:620; }.hero-copy { max-width:700px; margin:25px 0 30px; color:#555; font-size:18px; line-height:1.55; }
.search { width:min(100%, 720px); display:flex; align-items:center; gap:12px; padding:0 16px; height:58px; border:1px solid #cececa; border-radius:12px; transition:.18s; }.search:focus-within { border-color:var(--ink); box-shadow:0 0 0 3px #e9e9e7; }.search-icon { font-size:28px; transform:rotate(-20deg); color:#4c4c4b; }.search input { flex:1; border:0; outline:0; color:var(--ink); font:inherit; font-size:16px; background:transparent; }.search kbd { border:1px solid var(--line); border-radius:5px; color:var(--muted); padding:2px 6px; font-size:11px; }.search-hint { margin:11px 4px 0; color:var(--muted); font-size:13px; }
.directory { padding:36px 0 64px; border-top:1px solid var(--line); }.section-heading,.panel-heading,.assessment-topline,.company-heading { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }.section-heading h2,.company-heading h2 { margin:0; letter-spacing:-.045em; font-size:30px; line-height:1.1; }.count,.weight-note { color:var(--muted); font-size:13px; }.company-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:24px; border:1px solid var(--line); border-radius:14px; overflow:hidden; }.company-button { appearance:none; border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--card); padding:20px; text-align:left; cursor:pointer; min-height:104px; transition:background .15s; }.company-button:nth-child(even) { border-right:0; }.company-button:nth-last-child(-n+2) { border-bottom:0; }.company-button:hover,.company-button:focus-visible { background:var(--wash); outline:0; }.company-button p,.company-button span { display:block; }.company-button p { margin:0 0 5px; font-size:16px; font-weight:650; }.company-button span { color:var(--muted); font-size:13px; }.company-button .company-score { margin-top:10px; color:var(--ink); font-weight:700; }
.hidden { display:none; }.assessment { padding:44px 0 72px; border-top:1px solid var(--line); }.assessment-topline { align-items:center; }.text-button { border:0; background:none; padding:0; color:var(--ink); font:inherit; cursor:pointer; font-weight:620; }.text-button span { color:var(--green); margin-left:5px; }.company-heading { margin:26px 0 34px; align-items:end; }.company-industry,.company-code,.method-note { margin:0; color:var(--muted); }.company-industry { font-size:15px; }.company-code { margin-top:8px; font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:13px; }.method-note { max-width:260px; font-size:13px; }
.metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }.metric-card { min-height:155px; border:1px solid var(--line); border-radius:12px; padding:20px; display:flex; flex-direction:column; justify-content:space-between; background:var(--card); }.metric-card.emphasis { background:var(--ink); border-color:var(--ink); color:#fff; }.metric-card p { margin:0; color:var(--muted); font-size:13px; }.metric-card.emphasis p,.metric-card.emphasis span { color:#bdbdbd; }.metric-card strong { font-size:28px; letter-spacing:-.045em; line-height:1.05; font-weight:650; }.metric-card span { color:var(--muted); font-size:13px; }.grade { color:#fff !important; font-weight:700; }
.detail-grid { display:grid; grid-template-columns:1.45fr 1fr; gap:12px; margin-top:12px; }.panel { border:1px solid var(--line); background:var(--card); border-radius:12px; padding:25px; }.panel h3 { margin:0; font-size:21px; letter-spacing:-.035em; }.dimension-bars { margin-top:27px; display:grid; gap:17px; }.dimension-row { display:grid; grid-template-columns:160px 1fr 42px; gap:12px; align-items:center; font-size:13px; }.bar-track { height:7px; background:#ededeb; border-radius:999px; overflow:hidden; }.bar-fill { height:100%; border-radius:999px; background:var(--green); }.dimension-value { text-align:right; font-variant-numeric:tabular-nums; color:var(--muted); }.financial-stats,.terms-stats { margin:26px 0 0; }.financial-stats div,.terms-stats div { display:flex; justify-content:space-between; padding:12px 0; border-top:1px solid var(--line); gap:16px; }.financial-stats dt,.terms-stats dt { color:var(--muted); font-size:13px; }.financial-stats dd,.terms-stats dd { margin:0; text-align:right; font-size:14px; font-weight:650; }.risk-copy { margin:26px 0 0; max-width:600px; font-size:16px; line-height:1.65; }.terms-row { grid-template-columns:1fr 1fr; }.boundary { max-width:750px; padding:28px 0; border-top:1px solid var(--line); color:var(--muted); font-size:14px; }.boundary p:last-child { margin:0; } footer { max-width:var(--max); padding:24px 28px 36px; margin:0 auto; color:var(--muted); font-size:12px; border-top:1px solid var(--line); }
@media (max-width:780px) { .site-header,main,footer { padding-left:20px; padding-right:20px; }.hero { padding:64px 0 54px; }.hero h1 { font-size:43px; }.company-list,.metric-grid,.detail-grid,.terms-row { grid-template-columns:1fr; }.company-button { border-right:0; }.company-button:nth-last-child(2) { border-bottom:1px solid var(--line); }.company-heading { align-items:flex-start; flex-direction:column; }.dimension-row { grid-template-columns:126px 1fr 38px; gap:8px; }.header-meta { font-size:11px; }.search kbd { display:none; } }

