/* GaiasBus environment layer — shared visual language across every supporting page. */
:root {
  --gb-ink: #183e32; --gb-muted: #526b5d; --gb-paper: #fffaf0;
  --gb-card: rgba(255,255,255,.9); --gb-line: rgba(43,83,57,.16);
  --gb-green: #23734b; --gb-green-deep: #174c3a; --gb-pink: #e94c91;
  --gb-orange: #f5a34b; --gb-yellow: #f1d65d; --gb-teal: #27a7b8;
  --gb-purple: #6b60cf; --gb-shadow: 0 12px 32px rgba(41,79,52,.10);
  color-scheme: light;
}
html { background: var(--gb-paper); }
body {
  color: var(--gb-ink);
  background: radial-gradient(ellipse at 8% 0%,rgba(241,214,93,.18),transparent 31rem),
    radial-gradient(ellipse at 96% 10%,rgba(39,167,184,.11),transparent 30rem),
    linear-gradient(145deg,#fffaf0,#f0f7ed 78%);
  accent-color: var(--gb-green);
}
:where(h1,h2,h3) { color: var(--gb-ink); text-wrap: balance; }
:where(.brand,a.brand) { color: var(--gb-ink); text-decoration: none; font-weight: 900; }
:where(.brand strong,.brand [data-brand-word]) {
  background: linear-gradient(90deg,var(--gb-pink),var(--gb-orange),#c3a72f,#39945c,var(--gb-teal),var(--gb-purple));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
:where(.card,.panel,.hero,.shell,.section,.tile,.pathway,.explore-card,.listing-card,.project-card,.profile-card,.map-card,.content-card) {
  border-color: var(--gb-line); box-shadow: var(--gb-shadow);
}
:where(.pill,.button,.back,.nav a,.top-actions a,.actions a,.actions button,.market-actions button,button[type="submit"],input[type="submit"],input[type="button"]) {
  min-height: 44px; border-radius: 999px; font: inherit; font-weight: 800; text-decoration: none; cursor: pointer;
}
:where(.pill-primary,.submit,.primary,.button-primary,.action-button.primary,.button.primary,input[type="submit"]) {
  background: linear-gradient(105deg,var(--gb-pink) 0%,var(--gb-orange) 24%,var(--gb-yellow) 43%,#4cae70 62%,var(--gb-teal) 80%,var(--gb-purple) 100%);
  color: #fff; border-color: transparent;
}
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,select) { border-color: var(--gb-line); color: var(--gb-ink); }
:where(a,button,input,textarea,select,[tabindex]):focus-visible { outline: 3px solid var(--gb-teal); outline-offset: 3px; }
:where(.muted,.quiet,.hint,.lead,.lede,.body-copy) { color: var(--gb-muted); }
:where(.pathway.have,.tile.have) { background: linear-gradient(155deg,#eff9e7,#fff); }
:where(.pathway.need,.tile.need) { background: linear-gradient(155deg,#eaf7ff,#fff); }
:where(.pathway.creating,.tile.creating) { background: linear-gradient(155deg,#f7edff,#fff); }
:where(.pathway.help,.tile.help) { background: linear-gradient(155deg,#fff0dd,#fff); }
img { max-width: 100%; }
@media (max-width:650px) {
  :where(.nav,.top-actions,.actions,.market-actions) { flex-wrap: wrap; }
  :where(.nav a,.top-actions a,.actions a,.actions button,.market-actions button) { max-width: 100%; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; }
}

/* Shared member navigation keeps the environment easy to move through on every screen. */
body > header {
  width: min(1120px,calc(100% - 28px));
  min-height: 72px;
  margin-inline: auto;
  padding-block: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
header nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}
header nav a, header nav button, header nav form button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 8px 13px;
  border: 1px solid var(--gb-line);
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  color: var(--gb-green-deep);
  font-weight: 800;
  text-decoration: none;
}
header nav a[aria-current="page"] {
  background: linear-gradient(110deg,rgba(233,76,145,.14),rgba(245,163,75,.16),rgba(39,167,184,.14));
  border-color: rgba(35,115,75,.35);
}
header nav form { margin: 0; }
main { width: min(1120px,calc(100% - 28px)); margin-inline: auto; }
@media (max-width: 650px) {
  body > header { align-items: flex-start; }
  header nav { width: 100%; justify-content: flex-start; }
  header nav a, header nav button, header nav form button { min-height: 40px; padding: 7px 11px; }
}

/* The four core pathways use the same soft, welcoming cards as the approved mockup. */
.pathway { border:1px solid var(--gb-line); border-radius:24px; padding:18px; }
.pathway p { color:var(--gb-muted); }
.home-welcome-art {
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:12px 18px; margin:20px 0;
  border:1px solid var(--gb-line); border-radius:24px;
  background:linear-gradient(110deg,rgba(255,255,255,.94),rgba(239,249,231,.95),rgba(234,247,255,.94));
  box-shadow:var(--gb-shadow);
}
.home-welcome-art img { display:block; width:min(180px,36%); height:auto; aspect-ratio:320/205; object-fit:cover; border-radius:16px; }
.home-welcome-art p { margin:0; font-weight:950; letter-spacing:.025em; color:var(--gb-green-deep); }
@media(max-width:560px) {
  .pathway { border-radius:20px; padding:16px; }
  .home-welcome-art { gap:10px; padding:12px; }
  .home-welcome-art img { width:112px; }
  .home-welcome-art p { font-size:.92rem; }
}

/* A small shared visual anchor keeps the map, market, profiles, and project pathways in one family. */
.gb-community-banner {
  display:flex; align-items:center; gap:18px;
  margin:18px 0 22px; padding:12px 18px;
  border:1px solid var(--gb-line); border-radius:24px;
  background:linear-gradient(112deg,rgba(255,255,255,.94),rgba(239,249,231,.94),rgba(255,237,246,.92));
  box-shadow:var(--gb-shadow);
}
.gb-community-banner img { width:112px; height:auto; aspect-ratio:320/205; object-fit:cover; border-radius:15px; flex:0 0 auto; }
.gb-community-banner p { margin:0; }
.gb-community-kicker { font-size:.76rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; color:var(--gb-green); }
.gb-community-message { margin-block:3px!important; font-weight:850; color:var(--gb-ink); }
.gb-community-banner span { color:var(--gb-muted); font-size:.88rem; font-weight:800; }
@media(max-width:520px) {
 .gb-community-banner { gap:11px; padding:11px; border-radius:19px; }
 .gb-community-banner img { width:82px; border-radius:12px; }
 .gb-community-message { font-size:.94rem; line-height:1.3; }
 .gb-community-banner span { font-size:.8rem; }
}
@media(prefers-reduced-motion:reduce) { .gb-community-banner * { scroll-behavior:auto!important; } }
