.jobgave-home {
  min-height: 100vh;
  min-height: 100svh;
  color: #f5f5f7;
  background: radial-gradient(ellipse 800px 340px at 70% 0, #251731, transparent 80%), #000;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", system-ui, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
.jobgave-home *, .jobgave-home *::before, .jobgave-home *::after { box-sizing: border-box; }
.home-header { max-width: 1180px; margin: auto; padding: 28px 40px 30px; }
.home-logo { width: 226px; height: 63px; }
.home-logo img { width: 263px; left: -23px; top: -13px; }
.home-main { max-width: 1180px; margin: auto; padding: 0 40px calc(156px + env(safe-area-inset-bottom)); }
.home-search { display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 0 18px; background: #18131e; border: 1px solid #413548; border-radius: 18px; color: #aaa2b2; }
.home-search > svg { flex: 0 0 auto; }
.home-search input { width: 100%; min-width: 0; min-height: 56px; padding: 14px 0; border: 0; background: transparent; color: #f5f5f7; font: inherit; font-size: 1.0625rem; line-height: 1.5; outline: none; }
.home-search input::placeholder { color: #a69bad; opacity: 1; }
.home-search:focus-within { border-color: #b596d3; }
.home-categories { display: flex; overflow-x: auto; gap: 28px; margin: 24px 0 0; border-bottom: 1px solid #26222a; scrollbar-width: none; }
.home-categories::-webkit-scrollbar { display: none; }
.home-category { flex-shrink: 0; min-height: 52px; padding: 12px 2px 17px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; color: #aaa1b2; background: transparent; font: inherit; font-size: .9375rem; font-weight: 500; white-space: nowrap; cursor: pointer; transition: color 160ms ease, border-color 160ms ease; }
.home-category[aria-pressed="true"] { color: #e3d4f2; border-bottom-color: #bb96df; }
.home-category:hover { color: #f5f5f7; }
.home-listings { padding: 30px 0; }
.home-listings h1 { margin: 0; font-size: 1.5rem; font-weight: 650; line-height: 1.3; letter-spacing: -.025em; }
.home-empty { margin: 24px 0 0; color: #a39aa9; font-size: 1rem; line-height: 1.6; overflow-wrap: anywhere; }
.home-dock { position: fixed; z-index: 10; left: 50%; bottom: calc(18px + env(safe-area-inset-bottom)); transform: translateX(-50%); width: min(550px, calc(100% - 24px)); display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 6px; border: 1px solid #433849; border-radius: 32px; background: #221c2aeb; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
.home-dock-item { min-width: 0; min-height: 66px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 9px 2px; border: 0; border-radius: 26px; color: #afa5b8; background: transparent; font: inherit; font-size: .875rem; font-weight: 500; line-height: 1.25; text-decoration: none; overflow-wrap: anywhere; transition: background-color 160ms ease, color 160ms ease; }
.home-dock-item svg { flex: 0 0 auto; }
.home-dock-item[aria-current="page"] { background: #40314f; color: #dcc2f5; }
.home-dock-item[aria-current="page"]:hover { background: #493759; }
.home-dock-item:disabled { opacity: 1; cursor: default; -webkit-text-fill-color: currentColor; }
.jobgave-home :is(a, button):focus-visible { outline: 2px solid #c9a9e8; outline-offset: -4px; }
.home-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 600px) {
  .home-header { padding: 22px 20px 26px; }
  .home-logo { width: 190px; height: 53px; }
  .home-logo img { width: 221px; left: -19px; top: -11px; }
  .home-main { padding: 0 20px calc(150px + env(safe-area-inset-bottom)); }
  .home-search { min-height: 56px; border-radius: 17px; padding-inline: 15px; gap: 10px; }
  .home-search input { font-size: 1rem; min-height: 54px; }
  .home-categories { margin-top: 20px; gap: 24px; }
  .home-category { font-size: .875rem; }
  .home-listings { padding-top: 26px; }
  .home-listings h1 { font-size: 1.375rem; }
  .home-dock { bottom: calc(14px + env(safe-area-inset-bottom)); }
}
@media (max-width: 360px) { .home-header, .home-main { padding-inline: 16px; } .home-dock { width: calc(100% - 16px); padding: 5px; } .home-dock-item { font-size: .8125rem; } }
@media (prefers-reduced-motion: reduce) { .home-category, .home-dock-item { transition: none; } }
