:root {
  --bg: #050507;
  --panel: #0d0d11;
  --panel2: #151119;
  --pink: #ff1694;
  --pink2: #ff5eba;
  --gold: #d4af37;
  --gold2: #f5da7b;
  --cream: #fff7e7;
  --muted: #c5bdc8;
  --line: rgba(255, 22, 148, 0.35);
  --goldline: rgba(212, 175, 55, 0.38);
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: radial-gradient(circle at top, #241028, #060609 42%);
  color: var(--cream);
  font-family: Arial, Helvetica, sans-serif;
}
a {
  color: inherit;
  text-decoration: none;
}
.wrap {
  max-width: 1200px;
  margin: auto;
  padding: 0 18px;
}
.skip {
  position: absolute;
  left: -9999px;
  background: var(--gold2);
  color: #111;
  padding: 10px;
  z-index: 999;
}
.skip:focus {
  left: 10px;
  top: 10px;
}
.topbar {
  position: sticky;
  top: 0;
  z-index: 80;
  background: rgba(0, 0, 0, 0.92);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(12px);
}
.home-page .topbar {
  display: none;
}
.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 0;
}
.brand {
  font-family: Georgia, serif;
  font-weight: 800;
  letter-spacing: 0.03em;
}
.brand .tish {
  color: var(--pink);
  font-style: italic;
  font-size: 1.28rem;
}
.brand .finds {
  color: var(--gold2);
  font-size: 1.28rem;
}
.navlinks {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.navlinks a {
  padding: 8px 9px;
  border-radius: 9px;
  font-size: 0.88rem;
}
.navlinks a:hover,
.navlinks a:focus-visible {
  background: #1b121c;
  outline: 1px solid var(--line);
}
.world {
  position: relative;
  max-width: 1536px;
  margin: auto;
  background: #000;
  line-height: 0;
}
.world > img {
  width: 100%;
  height: auto;
  display: block;
}
.hotspot {
  position: absolute;
  border: 2px solid transparent;
  border-radius: 10px;
  background: rgba(255, 22, 148, 0);
  transition: 0.18s;
}
.hotspot:hover,
.hotspot:focus-visible {
  border-color: var(--pink2);
  background: rgba(255, 22, 148, 0.13);
  box-shadow: 0 0 0 4px rgba(255, 22, 148, 0.09);
  outline: none;
}
.hs-label {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 7px);
  transform: translateX(-50%);
  white-space: nowrap;
  background: rgba(0, 0, 0, 0.93);
  border: 1px solid var(--goldline);
  color: var(--gold2);
  padding: 7px 9px;
  border-radius: 8px;
  font-size: 12px;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
}
.hotspot:hover .hs-label,
.hotspot:focus-visible .hs-label {
  opacity: 1;
}
.mobile-world {
  display: none;
}
.hero {
  padding: 44px 0 22px;
}
.eyebrow {
  color: var(--pink2);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-weight: 800;
  font-size: 0.78rem;
}
.hero h1 {
  font-family: Georgia, serif;
  color: var(--gold2);
  font-size: clamp(2.35rem, 6vw, 4.8rem);
  margin: 0.18em 0;
}
.hero h1 em {
  color: var(--pink);
  font-weight: 700;
}
.hero p {
  max-width: 820px;
  color: #e3dbe5;
  line-height: 1.72;
  font-size: 1.06rem;
}
.status {
  display: inline-block;
  border: 1px solid var(--line);
  color: var(--pink2);
  background: #190d17;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 800;
}
.quick {
  padding: 22px 0 10px;
}
.searchbox {
  display: flex;
  gap: 10px;
  background: #0d0d11;
  border: 1px solid var(--goldline);
  padding: 12px;
  border-radius: 14px;
  max-width: 850px;
}
.searchbox input {
  flex: 1;
  background: #fff;
  color: #111;
  border: 0;
  border-radius: 9px;
  padding: 14px;
  font-size: 1rem;
}
.searchbox button {
  border: 0;
  border-radius: 9px;
  background: linear-gradient(180deg, var(--pink2), var(--pink));
  color: #fff;
  font-weight: 900;
  padding: 0 22px;
}
.category-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  padding: 22px 0 58px;
}
.cat {
  background: linear-gradient(180deg, #161018, #09090c);
  border: 1px solid var(--goldline);
  border-radius: 15px;
  padding: 18px;
  min-height: 148px;
  position: relative;
  overflow: hidden;
}
.cat:after {
  content: "";
  position: absolute;
  inset: auto -25px -35px auto;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: rgba(255, 22, 148, 0.08);
}
.cat:hover,
.cat:focus-within {
  border-color: var(--pink2);
  transform: translateY(-1px);
}
.cat h2,
.cat h3 {
  font-family: Georgia, serif;
  color: var(--gold2);
  margin: 0.2rem 0 0.5rem;
}
.cat p {
  color: var(--muted);
  line-height: 1.55;
  margin: 0.2rem 0;
}
.cat a {
  display: inline-block;
  margin-top: 8px;
  color: var(--pink2);
  font-weight: 800;
}
.room-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 14px 0 58px;
}
.card {
  background: linear-gradient(180deg, #151017, #0b0b0e);
  border: 1px solid var(--goldline);
  border-radius: 15px;
  padding: 20px;
  min-height: 180px;
}
.card h2,
.card h3 {
  font-family: Georgia, serif;
  color: var(--gold2);
  margin-top: 0;
}
.card p,
.card li {
  color: #d7d0da;
  line-height: 1.62;
}
.btn {
  display: inline-block;
  margin-top: 10px;
  background: linear-gradient(180deg, #f7d965, #c89d21);
  color: #090909;
  font-weight: 900;
  padding: 11px 15px;
  border-radius: 10px;
}
.btn.pink {
  background: linear-gradient(180deg, var(--pink2), var(--pink));
  color: #fff;
}
.btn.ghost {
  background: #151015;
  color: var(--gold2);
  border: 1px solid var(--goldline);
}
.notice {
  border-left: 4px solid var(--pink);
  background: #160d14;
  padding: 14px 16px;
  border-radius: 8px;
  color: #f1ddeb;
  line-height: 1.6;
}
.two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.footer {
  border-top: 1px solid var(--goldline);
  padding: 24px 0 42px;
  color: #aaa1ac;
}
.footer-row {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  flex-wrap: wrap;
}
.footer-links {
  display: flex;
  gap: 13px;
  flex-wrap: wrap;
}
.tiny {
  font-size: 0.86rem;
  color: #968c99;
}
.pill {
  display: inline-block;
  padding: 5px 9px;
  border: 1px solid var(--goldline);
  border-radius: 999px;
  color: var(--gold2);
  font-size: 0.76rem;
  margin: 3px;
}
.empty-feed {
  border: 1px dashed var(--line);
  border-radius: 14px;
  padding: 22px;
  background: #0c090d;
  color: #cfc4d0;
}
.route-list {
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.route-list a {
  display: block;
  border: 1px solid var(--goldline);
  padding: 12px;
  border-radius: 10px;
  background: #0e0c10;
}
.route-list a:hover,
.route-list a:focus-visible {
  border-color: var(--pink2);
}
a:focus-visible,
.btn:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 3px solid var(--gold2);
  outline-offset: 3px;
}
@media (max-width: 980px) {
  .home-page .topbar {
    display: block;
  }
  .navlinks {
    display: none;
  }
  .world .hotspot {
    display: none;
  }
  .mobile-world {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    padding: 16px;
  }
  .mobile-world a {
    border: 1px solid var(--goldline);
    background: #111014;
    padding: 13px;
    border-radius: 10px;
  }
  .category-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .room-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .two {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 620px) {
  .category-grid,
  .room-grid,
  .mobile-world {
    grid-template-columns: 1fr;
  }
  .hero {
    padding-top: 30px;
  }
  .searchbox {
    flex-direction: column;
  }
  .searchbox button {
    padding: 13px;
  }
  .route-list {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* Department build-outs */
.dept-intro {
  padding: 10px 18px 30px;
}
.section-head {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: end;
  margin-bottom: 18px;
}
.section-head h2,
.feed-toolbar h2,
.action-strip h2,
.location-panel h2 {
  font-family: Georgia, serif;
  color: var(--gold2);
  font-size: clamp(1.8rem, 4vw, 3rem);
  margin: 0.18em 0;
}
.section-head > p {
  max-width: 540px;
  color: var(--muted);
  line-height: 1.65;
}
.lane-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.lane {
  background: linear-gradient(180deg, #171019, #09090d);
  border: 1px solid var(--goldline);
  border-radius: 16px;
  padding: 20px;
  min-height: 190px;
}
.lane:hover {
  border-color: var(--pink2);
}
.lane-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #1c0c18;
  border: 1px solid var(--line);
  color: var(--pink2);
  font-weight: 900;
  font-size: 1.25rem;
}
.lane h3 {
  font-family: Georgia, serif;
  color: var(--gold2);
  margin: 14px 0 8px;
}
.lane p {
  color: var(--muted);
  line-height: 1.55;
  margin: 0;
}
.feed-shell {
  padding: 18px 18px 28px;
}
.feed-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  align-items: end;
  margin-bottom: 14px;
}
.filter-pills {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.filter-pills span {
  display: inline-block;
  padding: 7px 10px;
  border-radius: 999px;
  background: #130d13;
  border: 1px solid var(--goldline);
  color: var(--gold2);
  font-size: 0.78rem;
  font-weight: 800;
}
.filter-pills.wide {
  justify-content: flex-start;
}
.empty-feed.large {
  padding: 30px;
  min-height: 155px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.empty-feed.large strong {
  font-family: Georgia, serif;
  color: var(--gold2);
  font-size: 1.35rem;
}
.split-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 10px 18px 36px;
}
.checklist,
.numbered {
  padding-left: 20px;
}
.checklist li::marker,
.numbered li::marker {
  color: var(--pink2);
  font-weight: 900;
}
.action-strip {
  margin-top: 8px;
  margin-bottom: 48px;
  border: 1px solid var(--goldline);
  border-radius: 18px;
  padding: 22px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  background: linear-gradient(90deg, #120d12, #09090b);
}
.action-links {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.action-links .btn {
  margin-top: 0;
}
.houston-watch {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.watch-card {
  border: 1px solid var(--goldline);
  background: linear-gradient(180deg, #151016, #09090c);
  border-radius: 16px;
  padding: 20px;
  position: relative;
  min-height: 170px;
}
.watch-card > span {
  position: absolute;
  top: 14px;
  right: 14px;
  color: rgba(255, 22, 148, 0.4);
  font:
    900 1.8rem Georgia,
    serif;
}
.watch-card h3 {
  font-family: Georgia, serif;
  color: var(--gold2);
  margin: 0 0 8px;
}
.watch-card p {
  color: var(--muted);
  line-height: 1.55;
}
.location-panel {
  margin-top: 12px;
  margin-bottom: 20px;
  border-left: 4px solid var(--pink);
  background: #100b10;
  border-radius: 12px;
  padding: 22px;
}
@media (max-width: 900px) {
  .lane-grid,
  .houston-watch,
  .split-3 {
    grid-template-columns: repeat(2, 1fr);
  }
  .section-head,
  .feed-toolbar,
  .action-strip {
    align-items: flex-start;
    flex-direction: column;
  }
  .filter-pills,
  .action-links {
    justify-content: flex-start;
  }
}
@media (max-width: 620px) {
  .lane-grid,
  .houston-watch,
  .split-3 {
    grid-template-columns: 1fr;
  }
}

/* Final trust, policy and mobile-navigation polish */
.navlinks a[aria-current="page"] {
  color: var(--gold2);
  background: #1b121c;
  outline: 1px solid var(--goldline);
}
.hero-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.trust-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  padding-top: 8px;
  padding-bottom: 28px;
}
.trust-strip > div {
  border: 1px solid var(--goldline);
  border-radius: 14px;
  background: linear-gradient(180deg, #151017, #0a0a0d);
  padding: 16px;
  min-height: 105px;
}
.trust-strip strong {
  display: block;
  color: var(--gold2);
  font-family: Georgia, serif;
  font-size: 1.05rem;
  margin-bottom: 6px;
}
.trust-strip span {
  display: block;
  color: var(--muted);
  line-height: 1.45;
  font-size: 0.91rem;
}
.policy-section {
  padding-top: 12px;
  padding-bottom: 34px;
}
.policy-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  padding: 12px 18px 38px;
}
.policy-card {
  position: relative;
  border: 1px solid var(--goldline);
  border-radius: 16px;
  background: linear-gradient(180deg, #151017, #09090c);
  padding: 20px;
  min-height: 200px;
  overflow: hidden;
}
.policy-card > span {
  position: absolute;
  right: 15px;
  top: 10px;
  color: rgba(255, 22, 148, 0.28);
  font:
    900 2rem Georgia,
    serif;
}
.policy-card h3 {
  font-family: Georgia, serif;
  color: var(--gold2);
  font-size: 1.2rem;
  margin: 14px 0 8px;
  padding-right: 45px;
}
.policy-card p {
  color: #d7d0da;
  line-height: 1.62;
  margin-bottom: 0;
}
.policy-date {
  color: #918894;
  font-size: 0.82rem;
  padding-bottom: 38px;
}
.footer-links a:hover,
.footer-links a:focus-visible {
  color: var(--gold2);
}
@media (max-width: 980px) {
  .nav {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .navlinks {
    display: flex;
    width: 100%;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding: 2px 0 8px;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }
  .navlinks a {
    flex: 0 0 auto;
    border: 1px solid #2a1b29;
    background: #0d0b0e;
  }
  .trust-strip,
  .policy-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 620px) {
  .trust-strip,
  .policy-grid {
    grid-template-columns: 1fr;
  }
  .trust-strip {
    padding-left: 18px;
    padding-right: 18px;
  }
  .policy-grid {
    padding-left: 18px;
    padding-right: 18px;
  }
}

/* Clickable Jobs lanes — preserves existing visual design */
.lane-link{display:block;color:inherit;text-decoration:none;cursor:pointer;position:relative}
.lane-link:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.lane-link:hover{transform:translateY(-2px)}
.lane-cta{display:inline-block;margin-top:.65rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}


/* Verified Jobs board */
.filter-pills button{display:inline-block;padding:7px 10px;border-radius:999px;background:#130d13;border:1px solid var(--goldline);color:var(--gold2);font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}
.filter-pills button:hover,.filter-pills button[aria-pressed="true"]{border-color:var(--pink2);color:#fff;background:#251020}
.feed-meta{color:var(--muted);margin:.35rem 0 0;font-size:.9rem}
.job-board{min-height:155px}
.job-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.job-card{display:flex;flex-direction:column;min-height:250px;padding:20px;border:1px solid var(--goldline);border-radius:16px;background:linear-gradient(180deg,#171019,#09090d);color:inherit;text-decoration:none;transition:.18s ease}
.job-card:hover{border-color:var(--pink2);transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.22)}
.job-card:focus-visible{outline:3px solid var(--pink2);outline-offset:3px}
.job-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.job-badge{font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--gold2)}
.job-open{font-size:.75rem;color:var(--muted);white-space:nowrap}
.job-card h3{font-family:Georgia,serif;color:var(--gold2);font-size:1.2rem;margin:14px 0 8px}
.job-card p{color:var(--muted);line-height:1.55;margin:.3rem 0}
.job-card .job-org{color:#fff;font-weight:700;font-size:.9rem}
.job-card .job-dates{font-size:.84rem;color:var(--gold2)}
.job-apply{margin-top:auto;padding-top:16px;color:var(--pink2);font-weight:900}
.lane-link[aria-current="true"]{border-color:var(--pink2);box-shadow:0 0 0 1px var(--pink2) inset}
@media(max-width:780px){.job-card-grid{grid-template-columns:1fr}.job-card{min-height:0}.job-open{white-space:normal;text-align:right}}

.feed-search{width:100%;max-width:600px;padding:14px;margin:12px 0 24px;border-radius:12px;border:1px solid #777;background:#15151b;color:#fff;font:inherit}.job-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}.job-card{display:block}.job-card h3{overflow-wrap:anywhere}[hidden]{display:none!important}

/* Side Hustles coming-soon collection */
.hustle-preview-grid .lane-soon{position:relative;cursor:default;display:flex;flex-direction:column;align-items:flex-start;gap:0;min-height:215px}
.hustle-preview-grid .lane-soon:hover{transform:none;border-color:var(--goldline)}
.hustle-preview-grid .lane-soon h3{margin-top:12px}
.hustle-preview-grid .lane-soon .lane-icon{font-size:.95rem;min-width:40px;letter-spacing:-.01em}
.hustle-preview-grid .lane-state{font-size:.69rem;letter-spacing:.11em;text-transform:uppercase;color:var(--pink2);font-weight:800;margin-top:12px}
.hustle-preview-note{padding:26px 22px;margin:2px auto 58px;border:1px solid var(--goldline);border-radius:18px;background:linear-gradient(105deg,#160f19,#09090c)}
.hustle-preview-note h2{font-family:Georgia,serif;color:var(--gold2);font-size:clamp(1.55rem,3vw,2.3rem);margin:.4em 0}
.hustle-preview-note p{max-width:760px;color:var(--muted);line-height:1.65}
@media(max-width:650px){.hustle-preview-grid .lane-soon{min-height:0;padding:22px}.hustle-preview-hero h1{overflow-wrap:break-word}.hustle-preview-note{margin-left:18px;margin-right:18px}}

/* Tish Finds official resources and AI directories */
.directory-category{scroll-margin-top:30px;margin:20px 0 34px}
.directory-category h3,.directory-subtitle{font-family:Georgia,serif;font-size:clamp(1.35rem,2.5vw,1.95rem);color:var(--gold2);margin:0 0 15px}
.directory-category:target{border-left:3px solid var(--pink2);padding-left:14px}
.directory-subtitle{margin-top:35px}
.senior-directory-wrap .job-card-grid,.ai-directory-wrap .job-card-grid{margin-bottom:12px}
.senior-directory-card,.ai-directory-wrap .job-card{scroll-margin-top:25px}
.senior-directory-card .lane-cta,.ai-directory-wrap .job-card .lane-cta,#help-directories .job-card .lane-cta{margin-top:auto;padding-top:16px;color:var(--pink2)}
#help-directories h3{font-family:Georgia,serif}
#help-directories .job-card-grid{margin-top:15px}
@media(max-width:650px){
 .directory-category{margin:18px 0 28px}
 .directory-category:target{padding-left:9px}
 .senior-directory-wrap .job-card,.ai-directory-wrap .job-card,#help-directories .job-card{min-height:0}
}
