:root {
  --rider-void: #080b0b;
  --rider-panel: rgba(12, 22, 21, .82);
  --rider-panel-2: rgba(18, 34, 31, .7);
  --rider-line: rgba(175, 255, 218, .2);
  --rider-ink: #f2fff8;
  --rider-muted: #9eb7aa;
  --rider-live: #66e3ae;
  --rider-warn: #ffcc72;
  --rider-danger: #ff9e9e;
}

* { box-sizing: border-box; }
html { background: var(--rider-void); }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  color: var(--rider-ink);
  background:
    radial-gradient(circle at 80% 0%, rgba(41, 158, 110, .18), transparent 32rem),
    linear-gradient(150deg, #070a0a, #0c1513 55%, #070909);
  font-family: "IBM Plex Sans", system-ui, sans-serif;
}

.rider-apply {
  width: min(100%, 30rem);
  min-height: 100dvh;
  margin: 0 auto;
  padding: max(1rem, env(safe-area-inset-top)) 1rem calc(2rem + env(safe-area-inset-bottom));
}

.rider-apply__masthead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .25rem 0 1.1rem;
}
.rider-apply__brand { display: flex; align-items: center; gap: .6rem; font: 800 1.05rem "Space Grotesk", sans-serif; letter-spacing: -.03em; }
.rider-apply__mark { display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid var(--rider-line); border-radius: .5rem; color: var(--rider-live); background: rgba(30, 91, 67, .35); }
.rider-apply__tag, .rider-apply__eyebrow, .rider-apply__step, .rider-apply__state-label { font: 700 .62rem "IBM Plex Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.rider-apply__tag { color: var(--rider-live); }

.rider-apply__intro { padding: 1.25rem 0 1.1rem; }
.rider-apply__intro h1 { margin: .35rem 0 .6rem; font: 800 clamp(2rem, 8vw, 2.7rem)/.98 "Space Grotesk", sans-serif; letter-spacing: -.06em; }
.rider-apply__intro p { margin: 0; color: var(--rider-muted); line-height: 1.5; }

.rider-apply__status, .rider-apply__card { border: 1px solid var(--rider-line); border-radius: .5rem; background: var(--rider-panel); box-shadow: 0 1rem 2rem rgba(0, 0, 0, .18); }
.rider-apply__status { display: flex; gap: .65rem; align-items: flex-start; padding: .85rem; margin: 0 0 .9rem; }
.rider-apply__state-dot { width: .55rem; height: .55rem; margin-top: .27rem; flex: 0 0 auto; border-radius: 50%; background: var(--rider-warn); box-shadow: 0 0 .75rem rgba(255, 204, 114, .55); }
.rider-apply__status strong { display: block; margin-bottom: .18rem; font-size: .85rem; }
.rider-apply__status p { margin: 0; color: var(--rider-muted); font-size: .79rem; line-height: 1.4; }

.rider-apply__card { padding: 1rem; margin: .75rem 0; }
.rider-apply__card[hidden], .rider-apply__status[hidden] { display: none; }
.rider-apply__card[data-rider-compliance-panel] { position: fixed; z-index: 20; inset: max(.75rem, env(safe-area-inset-top)) .75rem max(.75rem, env(safe-area-inset-bottom)); width: min(calc(100% - 1.5rem), 29rem); max-height: calc(100dvh - 1.5rem); overflow: auto; margin: auto; border-color: rgba(255, 204, 114, .5); background: linear-gradient(145deg, rgba(29, 21, 11, .98), rgba(10, 16, 14, .98)); box-shadow: 0 0 0 100vmax rgba(0,0,0,.72), 0 1.5rem 4rem rgba(0,0,0,.55); }
.rider-apply__modal-close { position: absolute; top: .7rem; right: .7rem; display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid var(--rider-line); border-radius: 50%; color: var(--rider-ink); background: transparent; font-size: 1.25rem; cursor: pointer; }
.rider-apply__card h2 { margin: .35rem 0 .3rem; font: 700 1.12rem "Space Grotesk", sans-serif; letter-spacing: -.035em; }
.rider-apply__card > p { margin: 0 0 1rem; color: var(--rider-muted); font-size: .83rem; line-height: 1.45; }
.rider-apply__step { color: var(--rider-live); }

.rider-apply__field { display: grid; gap: .35rem; margin: .8rem 0; }
.rider-apply__field[hidden], .rider-apply__check[hidden] { display: none; }
.rider-apply__field label { color: var(--rider-muted); font-size: .75rem; font-weight: 700; }
.rider-apply__field small { color: var(--rider-muted); font-size: .7rem; line-height: 1.4; }
.rider-apply__field input, .rider-apply__field select { width: 100%; min-height: 2.8rem; border: 1px solid var(--rider-line); border-radius: .5rem; padding: .65rem .75rem; color: var(--rider-ink); background: rgba(2, 7, 6, .55); font: inherit; }
.rider-apply__field input:focus, .rider-apply__field select:focus { outline: 2px solid rgba(102, 227, 174, .45); outline-offset: 1px; }
.rider-apply__grid { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.rider-apply__check { display: flex; gap: .55rem; margin: .9rem 0; color: var(--rider-muted); font-size: .76rem; line-height: 1.4; }
.rider-apply__check input { accent-color: var(--rider-live); margin-top: .15rem; }
.rider-apply__turnstile { display: grid; gap: .45rem; margin: .9rem 0; min-height: 3.8rem; }
.rider-apply__turnstile[hidden] { display: none; }
.rider-apply__turnstile [data-rider-turnstile-widget] { min-height: 2.5rem; }
.rider-apply__turnstile iframe { max-width: 100%; }
.rider-apply__turnstile p { margin: 0; color: var(--rider-muted); font-size: .72rem; line-height: 1.35; }
.rider-apply__turnstile[data-rider-turnstile-state="verified"] p { color: var(--rider-live); }
.rider-apply__turnstile[data-rider-turnstile-state="unavailable"] p { color: var(--rider-danger); }

.rider-apply__button { width: 100%; min-height: 2.9rem; border: 1px solid transparent; border-radius: .5rem; padding: .65rem .9rem; color: #062015; background: var(--rider-live); font: 800 .84rem "IBM Plex Sans", sans-serif; cursor: pointer; }
.rider-apply__button:hover:not(:disabled) { filter: brightness(1.06); }
.rider-apply__button:disabled { color: rgba(242,255,248,.42); border-color: rgba(158,183,170,.22); background: rgba(158,183,170,.12); cursor: not-allowed; }
.rider-apply__button--secondary { margin-top: .6rem; color: var(--rider-ink); border-color: var(--rider-line); background: transparent; }
.rider-apply__alert { min-height: 1.1rem; margin: .65rem 0 0; color: var(--rider-danger); font-size: .78rem; line-height: 1.35; }
.rider-apply__local { padding: .7rem .75rem; border-left: 2px solid var(--rider-warn); color: var(--rider-muted); background: rgba(255, 204, 114, .07); font-size: .76rem; line-height: 1.45; }
.rider-apply__local strong { color: var(--rider-warn); }
.rider-apply__glass { border-color: rgba(255, 204, 114, .45); background: linear-gradient(145deg, rgba(42, 30, 10, .85), var(--rider-panel)); }
.rider-apply__glass[data-rider-glass-state="continue_rider_application"] { border-color: rgba(102, 227, 174, .45); }
.rider-apply__glass[data-rider-glass-state="intake_not_approved"] { border-color: rgba(255, 158, 158, .45); }
.rider-apply__footnote { margin: 1rem 0 0; color: rgba(158,183,170,.72); font-size: .7rem; line-height: 1.45; }

@media (max-width: 370px) { .rider-apply__grid { grid-template-columns: 1fr; gap: 0; } }

/* Applicant Journey — Director-approved mobile composition. */
body {
  background: #090806;
}

.rider-apply {
  position: relative;
  width: min(100%, 24.5rem);
  overflow: hidden;
  padding: 0;
  color: #f8f0df;
  background:
    radial-gradient(circle at 74% 13%, rgba(176, 89, 17, .23), transparent 26rem),
    linear-gradient(180deg, #100d09, #080705 76%);
}

.rider-apply__preflight {
  position: relative;
  display: grid;
  min-height: 100dvh;
  overflow: hidden;
  isolation: isolate;
  padding: max(1.15rem, env(safe-area-inset-top)) 1.1rem calc(1.25rem + env(safe-area-inset-bottom));
  background: #120d08;
}

.rider-apply__preflight-image {
  position: absolute;
  z-index: 0;
  inset: 0 0 12rem;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(9, 7, 5, .05) 0%, rgba(9, 7, 5, .18) 48%, #090705 100%),
    url('/assets/rider-intake/rider-preflight.jpg') center 20% / cover no-repeat;
}

.rider-apply__preflight-ground {
  position: absolute;
  z-index: 0;
  right: 0;
  bottom: 0;
  left: 0;
  min-height: 12rem;
  pointer-events: none;
  background: linear-gradient(180deg, #090705 0%, #050403 100%);
}

.rider-apply__preflight-glass {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 1.2rem;
  width: 100%;
  margin-top: auto;
  padding: 1rem;
  border: 1px solid rgba(235, 203, 160, .24);
  border-radius: .5rem;
  background: linear-gradient(145deg, rgba(11, 14, 13, .64), rgba(7, 9, 8, .82));
  box-shadow: inset 0 1px 0 rgba(255, 245, 226, .1), 0 1rem 2rem rgba(0, 0, 0, .34);
  -webkit-backdrop-filter: blur(16px) saturate(125%);
  backdrop-filter: blur(16px) saturate(125%);
}
.rider-apply__preflight-copy { margin: 0; }
.rider-apply__preflight h1 { margin: .5rem 0; font: 700 clamp(2.2rem, 11vw, 3rem)/.96 "Space Grotesk", sans-serif; letter-spacing: -.075em; }
.rider-apply__preflight-copy p { margin: 0; color: #e0c39f; font-size: .9rem; line-height: 1.45; }
.rider-apply__preflight-action { align-self: end; }
.rider-apply__preflight-action small { display: block; margin: .75rem auto 0; max-width: 17rem; color: rgba(245, 226, 194, .75); font-size: .65rem; line-height: 1.4; text-align: center; }
.rider-apply__preflight .rider-apply__field { margin: 0; }
.rider-apply__preflight .rider-apply__field > span { color: #faead1; font-size: .72rem; font-weight: 700; }
.rider-apply__preflight select { border-color: rgba(224, 154, 74, .48); color: #f9ecd8; background: rgba(15, 10, 5, .8); }
.rider-apply__area-note { margin: .55rem 0 .75rem; padding: .65rem .75rem; border: 1px solid rgba(93, 222, 152, .34); border-radius: .42rem; color: #8ce7b4; background: rgba(24, 80, 47, .27); font: 700 .65rem "IBM Plex Mono", monospace; letter-spacing: .04em; }
.rider-apply__button--amber { color: #160b03; background: linear-gradient(180deg, #ffb647, #e47916); }

.rider-apply__journey { min-height: 100dvh; padding: max(.75rem, env(safe-area-inset-top)) 1rem calc(1.25rem + env(safe-area-inset-bottom)); }
.rider-apply__journey[hidden], .rider-apply__preflight[hidden] { display: none; }
.rider-apply__journey-head { position: relative; padding: 1.25rem 1rem .9rem; margin: .25rem 0 .75rem; border: 1px solid rgba(187, 131, 65, .38); border-radius: .5rem; background: linear-gradient(135deg, rgba(35, 22, 11, .78), rgba(10, 9, 7, .92)); }
.rider-apply__bull { position: absolute; top: -.77rem; left: 50%; width: 2.55rem; height: 2.05rem; transform: translateX(-50%); object-fit: contain; object-position: center 58%; }
.rider-apply__journey-head h1 { margin: .3rem 0 .35rem; font: 700 1.72rem/.98 "Space Grotesk", sans-serif; letter-spacing: -.065em; }
.rider-apply__journey-head p { margin: 0; color: #cabba4; font-size: .78rem; line-height: 1.42; }
.rider-apply__masthead { padding: .3rem 0 .5rem; }
.rider-apply__brand { color: #f5ebde; }
.rider-apply__mark { border-color: rgba(211, 159, 94, .48); border-radius: .35rem; color: #e4b57a; background: rgba(38, 23, 10, .58); }
.rider-apply__mark img { width: 1.7rem; height: 1.4rem; object-fit: contain; object-position: center 58%; }
.rider-apply__tag, .rider-apply__eyebrow, .rider-apply__step { color: #8ce7b4; }

.rider-apply__status, .rider-apply__card { border-color: rgba(183, 137, 78, .35); border-radius: .5rem; background: linear-gradient(145deg, rgba(25, 18, 11, .9), rgba(10, 10, 8, .9)); box-shadow: inset 0 0 0 1px rgba(255, 237, 211, .03), 0 .8rem 1.5rem rgba(0, 0, 0, .26); }
.rider-apply__mounted-sheet { position: relative; overflow: hidden; }
.rider-apply__mounted-sheet::before { content: ""; position: absolute; inset: .18rem; pointer-events: none; border: 1px dashed rgba(219, 151, 81, .2); border-radius: .34rem; }
.rider-apply__card { padding: 1rem; }
.rider-apply__field input, .rider-apply__field select { border-color: rgba(203, 153, 94, .4); border-radius: .35rem; color: #f9eee1; background: rgba(5, 5, 4, .5); }
.rider-apply__field label { color: #e3d5c2; }
.rider-apply__button { border-radius: .35rem; color: #160b03; background: linear-gradient(180deg, #ffb647, #e47916); }
.rider-apply__button--secondary { color: #f8eddf; border-color: rgba(213, 161, 99, .45); background: rgba(30, 19, 9, .42); }
.rider-apply__glass { border-color: rgba(228, 177, 90, .65); background: linear-gradient(145deg, rgba(48, 34, 10, .78), rgba(16, 13, 9, .92)); }
.rider-apply__local { border-left-color: #e4a749; background: rgba(225, 151, 53, .08); }
.rider-apply__local strong { color: #efbd68; }

.rider-apply__email-confirm { min-height: 25rem; display: grid; align-content: center; text-align: center; }
.rider-apply__email-confirm[hidden] { display: none; }
.rider-apply__confirmation-icon { width: 4.8rem; height: 4.8rem; display: grid; place-items: center; margin: 0 auto 1.1rem; border: 1px solid rgba(105, 229, 155, .68); border-radius: 50%; color: #8ce7b4; background: rgba(22, 87, 52, .18); box-shadow: 0 0 2rem rgba(59, 187, 105, .16); font: 2.15rem/1 "IBM Plex Mono", monospace; }
.rider-apply__email-confirm h2 { font-size: 1.45rem; }
.rider-apply__email-confirm strong { color: #f5e7d2; overflow-wrap: anywhere; }
.rider-apply__review-steps { display: grid; gap: .45rem; margin: 1rem 0; padding: .25rem 0; border-top: 1px solid rgba(225, 191, 143, .17); border-bottom: 1px solid rgba(225, 191, 143, .17); }
.rider-apply__review-steps div { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .48rem 0; font-size: .72rem; }
.rider-apply__review-steps span { color: #cfc0ac; }
.rider-apply__review-steps strong { color: #e7b456; font: 700 .62rem "IBM Plex Mono", monospace; letter-spacing: .06em; text-transform: uppercase; }
.rider-apply__glass[data-rider-glass-state="continue_rider_application"] .rider-apply__review-steps div:first-child strong { color: #8ce7b4; }

.rider-apply__locked-destinations { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .35rem; margin-top: .75rem; padding: .5rem; border: 1px solid rgba(183, 137, 78, .35); border-radius: .5rem; background: rgba(10, 9, 7, .86); }
.rider-apply__locked-destinations div { min-height: 4.1rem; padding: .5rem .25rem; border: 1px solid rgba(229, 210, 181, .12); border-radius: .3rem; color: rgba(226, 213, 196, .55); text-align: center; }
.rider-apply__locked-destinations strong { display: block; margin-bottom: .35rem; font: 700 .62rem "IBM Plex Mono", monospace; text-transform: uppercase; }
.rider-apply__locked-destinations span { font-size: .58rem; line-height: 1.15; }

@media (min-width: 560px) {
  body { display: grid; place-items: center; min-height: 100vh; padding: 1rem; background: #050504; }
  .rider-apply { min-height: min(52rem, calc(100vh - 2rem)); border: 1px solid rgba(183, 137, 78, .42); border-radius: .75rem; box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .55); }
}
