/* GaiasBus Doorway — living community visual refresh.
   Loaded after the shared design layers so this page has one intentional visual hierarchy. */
:root {
  --door-ink: #183f31;
  --door-muted: #5b7164;
  --door-paper: #fffaf0;
  --door-green: #26764d;
  --door-rainbow: linear-gradient(105deg,#e94c91 0%,#f5a34b 22%,#e8cf58 41%,#4cae70 60%,#27a7b8 80%,#7865cf 100%);
}
html { background: var(--door-paper); }
body {
  color: var(--door-ink);
  background:
    radial-gradient(ellipse at 4% 8%,rgba(233,76,145,.09),transparent 30rem),
    radial-gradient(ellipse at 96% 7%,rgba(39,167,184,.11),transparent 32rem),
    radial-gradient(ellipse at 52% 88%,rgba(76,174,112,.10),transparent 38rem),
    linear-gradient(180deg,#fffaf0 0%,#fbf8ed 58%,#f1f6e9 100%);
}
.topbar {
  width: min(1320px,calc(100% - 48px));
  min-height: 88px;
  border-bottom: 1px solid rgba(39,92,61,.10);
}
.brand {
  gap: 9px;
  color: var(--door-ink);
  font-size: clamp(1.35rem,2.2vw,1.8rem);
  letter-spacing: -.045em;
}
.brand > span:not(.rainbow-mark) {
  background: var(--door-rainbow);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.rainbow-mark { font-size: 1.65rem; }
.brand small { color: #718276; font-weight: 750; }
.top-actions { gap: 12px; }
.top-actions .pill { min-height: 46px; padding-inline: 21px; }
.pill {
  border: 1px solid rgba(39,92,61,.16);
  box-shadow: 0 5px 16px rgba(35,77,53,.055);
  transition: transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.pill:hover { transform: translateY(-2px); box-shadow: 0 12px 25px rgba(35,77,53,.13); }
.pill-primary {
  background: var(--door-rainbow);
  border: 0;
  color: #173b2e;
  text-shadow: none;
  box-shadow: 0 12px 28px rgba(64,126,83,.20);
}
.pill-light {
  color: var(--door-ink);
  background: rgba(255,255,255,.82);
  border-color: rgba(39,92,61,.18);
}
.door {
  position: relative;
  isolation: isolate;
  width: min(1320px,calc(100% - 48px));
  min-height: min(690px,calc(100vh - 110px));
  grid-template-columns: minmax(0,1.04fr) minmax(360px,.96fr);
  gap: clamp(24px,4vw,58px);
  align-items: center;
  margin: 28px auto 0;
  padding: clamp(34px,5.2vw,76px);
  border: 1px solid rgba(46,104,66,.13);
  border-radius: 38px;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 86% 80%,rgba(106,181,104,.22),transparent 34rem),
    radial-gradient(ellipse at 76% 12%,rgba(255,207,126,.27),transparent 28rem),
    linear-gradient(118deg,rgba(255,255,255,.96) 0%,rgba(255,252,241,.94) 48%,rgba(237,247,226,.88) 100%);
  box-shadow: 0 26px 70px rgba(43,83,53,.12),inset 0 1px rgba(255,255,255,.9);
}
.door::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 520px;
  aspect-ratio: 1;
  right: -170px;
  bottom: -310px;
  border-radius: 50%;
  background: conic-gradient(from 15deg,rgba(233,76,145,.25),rgba(245,163,75,.25),rgba(76,174,112,.25),rgba(39,167,184,.25),rgba(120,101,207,.25),rgba(233,76,145,.25));
  filter: blur(35px);
}
.door-copy { max-width: 680px; padding: 12px 0; }
.door-copy .kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 23px;
  padding: 9px 14px;
  border: 1px solid rgba(47,117,77,.15);
  border-radius: 999px;
  background: rgba(255,255,255,.76);
  color: #39764f;
  font-size: .73rem;
  letter-spacing: .12em;
}
.spark { color: #d78b39; }
.door-copy h1 {
  max-width: 10ch;
  color: #194a35;
  font-family: Georgia,"Iowan Old Style","Palatino Linotype",serif;
  font-size: clamp(3.5rem,6.3vw,6.25rem);
  font-weight: 650;
  line-height: .98;
  letter-spacing: -.058em;
  text-wrap: balance;
}
.door-copy .lead {
  max-width: 590px;
  margin-top: 25px;
  color: #2d6948;
  font-size: clamp(1.35rem,2.15vw,1.8rem);
  font-weight: 650;
  line-height: 1.32;
  letter-spacing: -.025em;
}
.door-copy .body-copy {
  max-width: 570px;
  margin-top: 17px;
  color: var(--door-muted);
  font-size: 1.05rem;
  line-height: 1.75;
}
.auth-actions { gap: 13px; margin-top: 30px; }
.auth-actions .pill { min-height: 54px; padding: 14px 23px; }
.quiet {
  max-width: 540px;
  margin-top: 17px;
  color: #6b7b70;
  font-size: .88rem;
  line-height: 1.6;
}
.door-art {
  min-height: 0;
  display: grid;
  place-items: center;
  position: relative;
  isolation: isolate;
}
.door-art::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 84%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--door-rainbow);
  opacity: .17;
  filter: blur(48px);
}
.door-art .approved-hero-art {
  display: block;
  width: 100%;
  max-width: 650px;
  height: auto;
  aspect-ratio: 1.42;
  object-fit: cover;
  border: 9px solid rgba(255,255,255,.88);
  border-radius: 32px;
  box-shadow: 0 28px 65px rgba(34,78,52,.20),0 0 0 1px rgba(42,99,63,.10);
  filter: none;
}
.discover {
  width: min(1240px,calc(100% - 48px));
  padding: clamp(66px,8vw,104px) 0 72px;
}
.section-heading { max-width: 760px; margin: 0 auto 34px; }
.section-heading .kicker,.explore-heading .kicker {
  color: #8a568f;
  font-size: .72rem;
  letter-spacing: .14em;
}
.section-heading h2,.explore-heading h2 {
  color: #1d5138;
  font-family: Georgia,"Iowan Old Style","Palatino Linotype",serif;
  font-size: clamp(2.15rem,4.1vw,3.35rem);
  font-weight: 650;
  letter-spacing: -.045em;
  line-height: 1.08;
}
.section-heading > p:not(.kicker) { color: var(--door-muted); }
.section-heading > p:nth-of-type(2) {
  margin-top: 15px;
  color: #36784e;
  font-size: .98rem;
  font-weight: 850;
  letter-spacing: .08em;
}
.section-intro { max-width: 660px; margin: 12px auto 0; font-size: 1.02rem; line-height: 1.7; }
.pathway-grid {
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 16px;
}
.pathway {
  position: relative;
  min-height: 220px;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 12px;
  padding: 24px 21px;
  border: 1px solid rgba(39,92,61,.13);
  border-left: 5px solid var(--path-accent,#70a66f);
  border-radius: 23px;
  background: linear-gradient(145deg,#fff 0%,var(--path-wash,#f3f9ee) 100%);
  box-shadow: 0 12px 28px rgba(39,82,54,.065);
  text-align: left;
  cursor: default;
}
.pathway.have { --path-accent:#65a66a; --path-wash:#eff8e9; border-top:1px solid rgba(39,92,61,.13); }
.pathway.need { --path-accent:#e4a34e; --path-wash:#fff5e5; border-top:1px solid rgba(39,92,61,.13); }
.pathway.creating { --path-accent:#a77bc9; --path-wash:#f5effb; border-top:1px solid rgba(39,92,61,.13); }
.pathway.help { --path-accent:#42a6a0; --path-wash:#eaf7f4; border-top:1px solid rgba(39,92,61,.13); }
.pathway-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 19px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 5px 15px rgba(42,84,55,.09);
  font-size: 1.9rem;
}
.pathway-title { color: #214c37; font-size: .94rem; font-weight: 900; letter-spacing: .055em; }
.pathway > span:last-child { max-width: 22ch; color: #64776a; font-size: .91rem; line-height: 1.5; }
.pathway:hover { transform: translateY(-2px); box-shadow: 0 17px 34px rgba(39,82,54,.11); }
.explore-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin: clamp(58px,7vw,86px) 0 22px;
  padding-top: 34px;
  border-top: 1px solid rgba(39,92,61,.13);
}
.explore-heading h2 { margin: 0; }
.explore-heading > p { max-width: 310px; margin: 0 0 4px; color: var(--door-muted); line-height: 1.6; }
.explore-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.explore-card {
  min-height: 190px;
  padding: 23px 21px;
  border: 1px solid rgba(39,92,61,.13);
  border-radius: 23px;
  background: linear-gradient(155deg,rgba(255,255,255,.98),rgba(240,247,234,.88));
  box-shadow: 0 10px 27px rgba(39,82,54,.06);
}
.explore-card:nth-child(2) { background: linear-gradient(155deg,#fff,rgba(235,247,235,.9)); }
.explore-card:nth-child(3) { background: linear-gradient(155deg,#fff,rgba(238,246,250,.92)); }
.explore-card:nth-child(4) { background: linear-gradient(155deg,#fff,rgba(250,241,228,.92)); }
.explore-card > span:first-child {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 5px 15px rgba(42,84,55,.08);
  font-size: 1.8rem;
}
.explore-card strong { margin-top: 5px; color: #214c37; font-size: 1.06rem; }
.explore-card small { color: #66796d; font-size: .9rem; line-height: 1.5; }
.explore-card:hover { transform: translateY(-3px); box-shadow: 0 17px 34px rgba(39,82,54,.11); }
.closing-note {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 26px;
  padding: 25px 28px;
  border: 1px solid rgba(53,133,86,.18);
  border-radius: 26px;
  background:
    radial-gradient(ellipse at 0% 50%,rgba(233,76,145,.10),transparent 45%),
    linear-gradient(105deg,rgba(255,255,255,.96),rgba(235,247,228,.92),rgba(255,242,222,.9));
}
.closing-note > span { font-size: 2.45rem; }
.closing-note p { flex: 1; color: #5e7365; font-size: .96rem; line-height: 1.6; }
.closing-note p strong { color: #214c37; }
.closing-note .pill { width: auto; min-width: 220px; }
.support-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  width: min(1240px,calc(100% - 48px));
  max-width: none !important;
  margin: 0 auto 46px !important;
  padding: clamp(24px,4vw,38px) !important;
  border: 1px solid rgba(57,111,70,.16) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(ellipse at 100% 0%,rgba(120,101,207,.12),transparent 25rem),
    linear-gradient(115deg,#fff8e8,#f0f7e8 62%,#f4effa) !important;
  box-shadow: 0 14px 36px rgba(39,82,54,.075);
}
.support-note > div { flex: 1 1 540px; }
.support-note h2 { color: #214c37; font-family: Georgia,"Iowan Old Style","Palatino Linotype",serif; font-size: clamp(1.7rem,3vw,2.3rem); letter-spacing: -.035em; }
.support-note .kicker { color: #8a568f; }
.support-note p:not(.kicker) { color: #627568; line-height: 1.65; }
.support-note .pill { white-space: nowrap; }
footer {
  width: min(1240px,calc(100% - 48px));
  padding: 22px 0 32px;
  border-top: 1px solid rgba(39,92,61,.13);
  color: #708174;
  font-size: .86rem;
}
@media (max-width: 980px) {
  .door { grid-template-columns: minmax(0,1fr) minmax(280px,.85fr); gap: 24px; padding: 38px; }
  .door-copy h1 { font-size: clamp(3.1rem,7vw,5rem); }
  .pathway-grid,.explore-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pathway { min-height: 190px; }
}
@media (max-width: 700px) {
  .topbar { width: calc(100% - 28px); min-height: 72px; }
  .top-actions { gap: 7px; }
  .top-actions .pill { min-height: 42px; padding: 9px 13px; font-size: .86rem; }
  .top-actions .pill-small { display: inline-flex; }
  .door {
    width: calc(100% - 20px);
    min-height: 0;
    grid-template-columns: minmax(0,1fr);
    gap: 22px;
    margin-top: 12px;
    padding: 24px 20px 28px;
    border-radius: 27px;
  }
  .door-art { grid-row: 1; }
  .door-art .approved-hero-art { max-width: 100%; border-width: 6px; border-radius: 21px; }
  .door-copy { grid-row: 2; padding: 0; }
  .door-copy .kicker { margin-bottom: 17px; font-size: .66rem; }
  .door-copy h1 { max-width: 11ch; font-size: clamp(2.9rem,12.8vw,4.35rem); line-height: .99; }
  .door-copy .lead { margin-top: 18px; font-size: clamp(1.2rem,5vw,1.55rem); }
  .door-copy .body-copy { font-size: .98rem; }
  .auth-actions { display: grid; grid-template-columns: 1fr; margin-top: 23px; }
  .auth-actions .pill { width: 100%; }
  .quiet { font-size: .82rem; }
  .discover { width: calc(100% - 28px); padding: 58px 0 46px; }
  .section-heading { margin-bottom: 25px; }
  .section-heading h2,.explore-heading h2 { font-size: clamp(2rem,9vw,2.7rem); }
  .section-intro { font-size: .96rem; }
  .pathway-grid,.explore-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
  .pathway { min-height: 188px; padding: 17px 14px; border-radius: 19px; gap: 9px; }
  .pathway-icon { width: 49px; height: 49px; border-radius: 16px; font-size: 1.65rem; }
  .pathway-title { font-size: .82rem; }
  .pathway > span:last-child { font-size: .83rem; }
  .explore-heading { display: block; margin: 52px 0 17px; padding-top: 27px; }
  .explore-heading > p { margin-top: 10px; font-size: .92rem; }
  .explore-card { min-height: 166px; padding: 17px 14px; border-radius: 19px; gap: 8px; }
  .explore-card > span:first-child { width: 47px; height: 47px; border-radius: 15px; font-size: 1.55rem; }
  .explore-card strong { font-size: .96rem; }
  .explore-card small { font-size: .82rem; }
  .closing-note { align-items: flex-start; flex-wrap: wrap; gap: 12px; padding: 19px; border-radius: 21px; }
  .closing-note p { min-width: calc(100% - 58px); font-size: .88rem; }
  .closing-note .pill { width: 100%; min-width: 0; }
  .support-note { width: calc(100% - 28px); margin-bottom: 28px !important; padding: 22px !important; border-radius: 23px !important; }
  .support-note .pill { width: 100%; white-space: normal; }
  footer { width: calc(100% - 28px); padding-bottom: 26px; }
}
@media (max-width: 390px) {
  .brand { gap: 5px; font-size: 1.1rem; }
  .rainbow-mark { font-size: 1.35rem; }
  .top-actions .pill { padding-inline: 10px; font-size: .8rem; }
  .door-copy h1 { font-size: clamp(2.65rem,12.5vw,3.45rem); }
  .pathway-grid,.explore-grid { grid-template-columns: minmax(0,1fr); }
  .pathway { min-height: 0; display: grid; grid-template-columns: 48px minmax(0,1fr); align-items: center; }
  .pathway-icon { grid-row: span 2; }
  .pathway > span:last-child { grid-column: 2; max-width: none; }
  .explore-card { min-height: 0; display: grid; grid-template-columns: 48px minmax(0,1fr); align-items: center; }
  .explore-card > span:first-child { grid-row: span 2; }
  .explore-card strong { margin: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .pill,.pathway,.explore-card { transition: none !important; }
  .pill:hover,.pathway:hover,.explore-card:hover { transform: none; }
}
@media (forced-colors: active) {
  .door,.pathway,.explore-card,.closing-note,.support-note { border: 1px solid CanvasText !important; }
  .pill-primary { color: ButtonText; border: 1px solid ButtonText; }
}
