:root{--ink:#101318;--muted:#667085;--gold:#f2be37;--line:#e2e6eb;--soft:#f4f6f8}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--soft);color:var(--ink)}
a{color:inherit}
.hero{background:#05070d;color:#fff;padding:0 max(24px,calc((100vw - 1180px)/2)) 86px}
.topbar{position:relative;min-height:92px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}
.logo{height:68px;width:auto}
.desktop-nav{display:flex;gap:25px;align-items:center;margin-left:auto}
.desktop-nav a{color:#d7dce5;text-decoration:none;font-size:14px;font-weight:750}
.desktop-nav .primary{background:var(--gold);color:#111318;padding:12px 17px;border-radius:10px}
.menu-toggle{display:none;margin-left:auto;background:#151922;border:1px solid #2b303b;color:#fff;border-radius:10px;padding:10px 13px;font-weight:850}
.mobile-menu{position:absolute;right:0;top:76px;z-index:10;background:#11141b;border:1px solid #2a303b;border-radius:15px;padding:10px;display:grid;width:min(340px,calc(100vw - 40px));box-shadow:0 22px 55px rgba(0,0,0,.42)}
.mobile-menu[hidden]{display:none}
.mobile-menu a{color:#fff;text-decoration:none;padding:12px;border-radius:9px}
.eyebrow{margin-top:70px;color:var(--gold);font-size:13px;letter-spacing:.12em;font-weight:900;text-transform:uppercase}
.hero h1{font-size:clamp(52px,6vw,82px);letter-spacing:-.055em;line-height:.98;margin:18px 0;max-width:920px}
.hero-copy{max-width:770px;color:#bbc2ce;font-size:19px;line-height:1.65}
.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,170px));gap:12px;margin-top:30px}
.hero-stat{padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.055)}
.hero-stat strong{display:block;color:#fff;font-size:23px}
.hero-stat span{font-size:13px;color:#9da6b5}
.workspace{width:min(1180px,calc(100% - 48px));margin:-34px auto 70px}
.controls{background:#fff;border-radius:20px;padding:22px;box-shadow:0 15px 45px rgba(15,23,42,.12)}
.search-row{position:relative;margin-top:8px}
.search{width:100%;border:1px solid var(--line);border-radius:12px;padding:16px 54px 16px 18px;font:inherit;font-size:17px;outline:none}
.search:focus{border-color:#d4a31f;box-shadow:0 0 0 4px rgba(242,190,55,.17)}
.clear-search{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:9px;background:#eef1f5;color:#3b4350;font-size:21px;cursor:pointer}
.clear-search[hidden]{display:none}
.filters{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}
.filter{border:1px solid var(--line);background:#f8f9fb;border-radius:999px;padding:10px 15px;font-weight:800;cursor:pointer}
.filter.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.results-head{display:flex;align-items:end;justify-content:space-between;margin:48px 0 20px}
.results-head h2{font-size:clamp(30px,4vw,45px);margin:0}
.result-count{color:var(--muted);font-weight:750}
.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tool-card{display:flex;flex-direction:column;background:#fff;color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:18px;padding:23px;min-height:310px;box-shadow:0 9px 26px rgba(15,23,42,.055);transition:.2s transform,.2s box-shadow;cursor:pointer}
.tool-card[hidden]{display:none!important}
.tool-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px rgba(15,23,42,.1)}
.card-top{display:flex;justify-content:space-between;align-items:start;gap:12px}
.icon{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:#fff6d9;font-size:24px}
.badge{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;padding:7px 9px;border-radius:999px;background:#e9f8ef;color:#187543}
.tool-card h3{font-size:23px;margin:20px 0 9px}
.tool-card p{color:var(--muted);line-height:1.55;margin:0}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}
.tags span{font-size:11px;background:#f2f4f7;border-radius:7px;padding:5px 7px;color:#596170}
.card-action{margin-top:auto;text-decoration:none;font-weight:900;color:#9b6d00}
.filter:focus-visible,.search:focus-visible,.tool-card:focus-visible,.clear-search:focus-visible,.empty button:focus-visible{outline:3px solid #d4a31f;outline-offset:3px}
.tool-card:focus-visible{transform:translateY(-2px)}
.empty{display:none;text-align:center;background:#fff;border-radius:18px;padding:42px;color:var(--muted)}
.empty.visible{display:block}
.empty button{margin-top:14px;border:0;border-radius:10px;padding:12px 16px;background:var(--gold);color:var(--ink);font:inherit;font-weight:900;cursor:pointer}
.cta{width:min(1180px,calc(100% - 48px));margin:0 auto 70px;background:#05070d;color:#fff;border-radius:22px;padding:42px}
.cta h2{font-size:clamp(30px,4vw,46px);margin:0 0 10px}
.cta p{color:#b6bdc9}
.cta a{display:inline-block;margin-top:12px;background:var(--gold);color:#111318;text-decoration:none;font-weight:900;padding:14px 18px;border-radius:11px}
.app-promo{width:min(1180px,calc(100% - 48px));margin:-42px auto 70px;padding:34px 42px;display:flex;align-items:center;justify-content:space-between;gap:32px;background:linear-gradient(135deg,#fff7df,#fff);border:1px solid #ead28c;border-radius:22px;box-shadow:0 12px 35px rgba(15,23,42,.08)}
.app-label{display:block;color:#9b6d00;font-size:12px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.app-promo h2{margin:7px 0 8px;font-size:clamp(27px,3vw,40px);letter-spacing:-.03em}
.app-promo p{margin:0;max-width:690px;color:#667085;line-height:1.6}
.app-download{flex:0 0 auto;background:#f2be37;color:#111318;text-decoration:none;font-weight:900;padding:15px 20px;border-radius:11px;text-align:center}
.footer{background:#05070d;color:#c4cad3;padding:45px max(24px,calc((100vw - 1180px)/2))}
.footer a{color:#c4cad3;margin-right:20px}
.footer small{display:block;margin-top:22px;color:#7f8896}
@media(max-width:900px){
  .desktop-nav{display:none}.menu-toggle{display:block}.eyebrow{margin-top:48px}.hero{padding:0 20px 65px}.logo{height:52px}
  .hero-stats{grid-template-columns:repeat(3,1fr)}.workspace,.cta,.app-promo{width:min(100% - 28px,680px)}
  .tool-grid{grid-template-columns:1fr}.tool-card{min-height:0}.results-head{align-items:start;gap:8px;flex-direction:column}
  .app-promo{margin-top:-44px;padding:28px;align-items:stretch;flex-direction:column}.app-download{width:100%}
}
@media(max-width:520px){
  .hero-stats{grid-template-columns:1fr}.filters{display:grid;grid-template-columns:1fr 1fr}.filter{width:100%}
}
