.application-page {
  --app-surface: rgba(16, 16, 17, .92);
  --app-surface-high: #151516;
  --app-line: rgba(255, 255, 255, .105);
  --app-line-soft: rgba(255, 255, 255, .065);
  --app-body-copy: #aaa7af;
  --app-quiet-copy: #8b8791;
  min-height: 100vh;
  overflow-x: clip;
  background:
    radial-gradient(ellipse at 79% 19%, rgba(140, 82, 255, .10), transparent 32%),
    linear-gradient(rgba(255, 255, 255, .022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .022) 1px, transparent 1px),
    #050505;
  background-size: auto, 54px 54px, 54px 54px, auto;
}

.application-page::before {
  position: fixed;
  z-index: 0;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 47%, rgba(0, 0, 0, .34) 100%);
  content: "";
  pointer-events: none;
}

.application-topbar,
.application-main {
  position: relative;
  z-index: 1;
}

.application-topbar {
  width: min(1400px, calc(100% - 72px));
  min-height: 86px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--app-line-soft);
}

.application-topbar .wordmark { align-items: flex-start; }
.application-topbar .wordmark-sub { text-indent: 0; letter-spacing: .49em; }

.application-topbar-actions {
  display: flex;
  align-items: center;
  gap: 22px;
}

.preview-chip {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--app-quiet-copy);
  font-size: .69rem;
}

.preview-chip .signal-dot { width: 6px; height: 6px; color: var(--green); }

.application-signin {
  color: var(--app-quiet-copy);
  font-size: .7rem;
  transition: color 160ms ease;
}

.application-signin strong { margin-left: 5px; color: var(--paper); font-weight: 650; }
.application-signin:hover,
.application-signin:hover strong { color: var(--purple-soft); }

.application-main {
  width: min(1320px, calc(100% - 72px));
  margin: 0 auto;
  padding: 58px 0 76px;
}

.application-layout {
  display: grid;
  grid-template-columns: minmax(230px, 285px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(52px, 8.1vw, 122px);
}

.application-rail {
  position: sticky;
  top: 26px;
  padding-top: 18px;
}

.application-rail .eyebrow {
  margin-bottom: 25px;
  font-size: .62rem;
  letter-spacing: .13em;
}

.application-rail h1 {
  max-width: 300px;
  margin-bottom: 17px;
  font-size: clamp(2.65rem, 4.1vw, 4.1rem);
  line-height: .91;
  letter-spacing: -.075em;
  font-weight: 650;
}

.rail-intro {
  max-width: 270px;
  margin-bottom: 35px;
  color: var(--app-body-copy);
  font-size: .87rem;
  line-height: 1.65;
}

.step-list {
  display: grid;
  gap: 5px;
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .025) 48%, rgba(255, 255, 255, .045)),
    rgba(20, 18, 25, .44);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .15),
    inset 0 -1px 0 rgba(255, 255, 255, .035),
    0 18px 42px rgba(0, 0, 0, .17);
  -webkit-backdrop-filter: blur(22px) saturate(155%);
  backdrop-filter: blur(22px) saturate(155%);
  isolation: isolate;
}

.step-link {
  position: relative;
  width: 100%;
  min-height: 56px;
  padding: 8px 11px;
  border: 1px solid transparent;
  border-radius: 13px;
  display: grid;
  grid-template-columns: 33px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  background: linear-gradient(135deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .012) 58%, rgba(255, 255, 255, .025));
  color: var(--app-quiet-copy);
  text-align: left;
  cursor: default;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .055);
  transition: background 220ms ease, border-color 220ms ease, box-shadow 220ms ease, color 220ms ease, transform 220ms ease;
}

.step-link[data-available="true"] { cursor: pointer; }
.step-link[data-available="true"]:hover {
  border-color: rgba(255, 255, 255, .17);
  background: linear-gradient(135deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .035));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 7px 18px rgba(0, 0, 0, .12);
  color: var(--paper);
  transform: translateY(-1px);
}
.step-link:focus-visible { outline: 2px solid var(--purple-soft); outline-offset: 2px; }

.step-index {
  width: 27px;
  height: 27px;
  border: 1px solid var(--app-line);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #77747d;
  font-size: .6rem;
  font-weight: 650;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.step-link strong,
.step-link small { display: block; }
.step-link strong { margin-bottom: 3px; color: #bcb9c1; font-size: .73rem; font-weight: 620; }
.step-link small { color: var(--app-quiet-copy); font-size: .62rem; }
.step-link.current {
  border-color: rgba(189, 157, 255, .37);
  background:
    linear-gradient(135deg, rgba(190, 158, 255, .25), rgba(140, 82, 255, .15) 55%, rgba(255, 255, 255, .055)),
    rgba(89, 54, 145, .12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .23), inset 0 -1px 0 rgba(180, 142, 255, .10), 0 8px 24px rgba(73, 40, 130, .14);
}
.step-link.current .step-index { border-color: rgba(255, 255, 255, .45); background: linear-gradient(145deg, #a778ff, #7843e9); color: #fff; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 3px 10px rgba(118, 67, 233, .32); }
.step-link.current strong { color: var(--paper); }
.step-link.complete { border-color: rgba(167, 211, 111, .16); background: linear-gradient(135deg, rgba(167, 211, 111, .095), rgba(255, 255, 255, .018)); }
.step-link.complete .step-index { border-color: rgba(167, 211, 111, .48); background: linear-gradient(145deg, rgba(167, 211, 111, .23), rgba(167, 211, 111, .09)); color: var(--green); }
.step-link.complete strong { color: var(--paper); }

.rail-note {
  max-width: 280px;
  margin-top: 36px;
  padding: 17px 0 0;
  border-top: 1px solid var(--app-line);
  display: grid;
  grid-template-columns: 41px minmax(0, 1fr);
  align-items: center;
  gap: 13px;
}

.rail-note-mark {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(167, 211, 111, .36);
  border-radius: 12px;
  display: grid;
  place-items: center;
  color: var(--green);
  font-size: .68rem;
  font-weight: 720;
}

.rail-note p { margin: 0; color: var(--app-quiet-copy); font-size: .64rem; line-height: 1.55; }
.rail-note strong { color: #c9c6ce; font-weight: 620; }

.application-flow {
  min-width: 0;
  padding: 0 0 0 clamp(0px, 2.5vw, 37px);
  border-left: 1px solid var(--app-line-soft);
}

.flow-progress-wrap { margin: 0 0 38px; }
.flow-progress-copy { margin-bottom: 9px; display: flex; justify-content: space-between; gap: 15px; color: var(--app-quiet-copy); font-size: .63rem; }
.flow-progress-copy span:first-child { color: var(--muted-light); font-weight: 620; }
.flow-progress { height: 2px; overflow: hidden; background: var(--app-line); }
.flow-progress > span { width: 16.666%; height: 100%; display: block; background: linear-gradient(90deg, var(--purple), var(--green)); transition: width 380ms cubic-bezier(.2, .8, .2, 1); }

.flow-heading {
  min-height: 136px;
  margin-bottom: 27px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 25px;
}

.flow-heading .eyebrow { margin-bottom: 15px; font-size: .61rem; letter-spacing: .12em; }
.flow-heading h2 { margin: 0 0 9px; font-size: clamp(2.1rem, 4.1vw, 3.45rem); line-height: .98; letter-spacing: -.067em; font-weight: 640; }
.flow-heading > div:first-child > p:last-child { max-width: 600px; margin: 0; color: var(--app-body-copy); font-size: .85rem; line-height: 1.6; }

.flow-step-number { flex: 0 0 auto; padding-top: 12px; display: flex; align-items: baseline; gap: 4px; color: var(--app-quiet-copy); }
.flow-step-number strong { color: var(--paper); font-size: 1.05rem; font-weight: 540; letter-spacing: -.04em; }
.flow-step-number span { font-size: .59rem; }

.flow-feedback {
  margin: -8px 0 20px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 130, 89, .28);
  border-radius: 10px;
  background: rgba(255, 130, 89, .075);
  color: #ffc0a9;
  font-size: .74rem;
  line-height: 1.5;
}

.application-step { animation: applicationStepEnter 360ms cubic-bezier(.2, .8, .2, 1) both; }
.application-step[hidden] { display: none !important; }
.application-page [hidden] { display: none !important; }

@keyframes applicationStepEnter {
  from { opacity: 0; transform: translateY(9px); }
  to { opacity: 1; transform: translateY(0); }
}

.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px 15px; }
.field-span-two { grid-column: 1 / -1; }

.application-field { min-width: 0; display: grid; gap: 8px; color: #c7c4cc; font-size: .68rem; font-weight: 620; }
.application-field > span { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.application-field > span small { color: var(--app-quiet-copy); font-size: .57rem; font-weight: 450; }
.application-field input,
.application-field select {
  width: 100%;
  min-width: 0;
  height: 49px;
  padding: 0 14px;
  border: 1px solid var(--app-line);
  border-radius: 9px;
  outline: 0;
  background: var(--app-surface-high);
  color: var(--paper);
  font-family: inherit;
  font-size: .76rem;
  font-weight: 500;
  line-height: 1.2;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.application-field input::placeholder { color: #93909a; }
.application-field input:focus,
.application-field select:focus { border-color: rgba(140, 82, 255, .7); box-shadow: 0 0 0 3px rgba(140, 82, 255, .12); }
.application-field input[readonly] { color: #aaa7af; background: rgba(255, 255, 255, .025); }
.application-field > small { margin-top: -3px; color: var(--app-quiet-copy); font-size: .58rem; font-weight: 450; }
.application-field select { appearance: auto; cursor: pointer; }
.application-field input[type="date"] { color-scheme: dark; }

.phone-input-row { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 7px; }
.phone-input-row select { padding-inline: 10px 5px; font-size: .68rem; }
.phone-input-row input { padding-inline: 11px; }

.password-control { position: relative; display: flex; align-items: center; }
.password-control input { padding-right: 58px; }
.password-control button { position: absolute; right: 10px; padding: 5px; border: 0; background: none; color: #96929d; font-size: .61rem; cursor: pointer; }
.password-control button:hover { color: var(--paper); }

.form-note,
.privacy-note { margin: 20px 0 0; display: flex; align-items: flex-start; gap: 9px; color: var(--app-quiet-copy); font-size: .64rem; line-height: 1.55; }
.form-note > span,
.privacy-note > span { color: var(--green); }

.section-code { display: inline-flex; margin-bottom: 11px; color: var(--purple-soft); font-size: .62rem; font-weight: 670; letter-spacing: .1em; text-transform: uppercase; }
.cv-section { padding-bottom: 24px; border-bottom: 1px solid var(--app-line-soft); }
.cv-copy > div,
.section-heading-row > div { display: flex; align-items: center; gap: 10px; }
.cv-copy h3,
.section-heading-row h3,
.identity-intro-grid h3,
.payment-lead h3,
.region-lead h3,
.review-lead h3 { margin: 0; font-size: 1.28rem; line-height: 1.1; letter-spacing: -.044em; font-weight: 620; }
.cv-copy .section-code,
.section-heading-row .section-code { margin: 0; }
.cv-copy > p,
.section-description,
.identity-intro-grid > div:first-child > p,
.payment-lead > p,
.region-lead > p,
.review-lead > p { max-width: 630px; margin: 11px 0 17px; color: var(--app-body-copy); font-size: .75rem; line-height: 1.6; }

.cv-drop {
  min-height: 81px;
  padding: 13px 15px;
  border: 1px dashed rgba(255, 255, 255, .19);
  border-radius: 10px;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, .018);
  cursor: pointer;
  transition: border-color 180ms ease, background 180ms ease;
}

.cv-drop:hover,
.cv-drop:focus-within { border-color: rgba(167, 211, 111, .55); background: rgba(167, 211, 111, .045); }
.cv-file-mark { width: 38px; height: 43px; border: 1px solid var(--app-line); border-radius: 8px; display: grid; place-items: center; color: var(--green); font-size: .58rem; font-weight: 720; }
.cv-drop-copy strong,
.cv-drop-copy small { display: block; }
.cv-drop-copy strong { margin-bottom: 4px; color: var(--paper); font-size: .72rem; font-weight: 610; }
.cv-drop-copy small { color: var(--app-quiet-copy); font-size: .6rem; }
.cv-select-action { padding: 9px 12px; border: 1px solid var(--app-line); border-radius: 999px; color: var(--paper); font-size: .63rem; font-weight: 610; }
.visually-hidden-file { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.cv-drop:focus-within { outline: 2px solid var(--purple-soft); outline-offset: 3px; }

.cv-analysis-row { margin-top: 10px; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.cv-analysis-row p { max-width: 480px; margin: 0; color: var(--app-quiet-copy); font-size: .6rem; line-height: 1.5; }
.quiet-action { min-height: 36px; padding: 0 12px; border: 1px solid var(--app-line); border-radius: 999px; background: transparent; color: #c9c6ce; font-size: .62rem; font-weight: 620; cursor: pointer; transition: background 150ms ease, border-color 150ms ease, color 150ms ease; }
.quiet-action:hover:not(:disabled) { border-color: rgba(140, 82, 255, .52); background: rgba(140, 82, 255, .08); color: var(--paper); }
.quiet-action:disabled { opacity: .45; cursor: not-allowed; }

.cv-status { margin-top: 12px; padding: 12px 14px; border: 1px solid rgba(140, 82, 255, .25); border-radius: 9px; background: rgba(140, 82, 255, .075); color: #d0baff; font-size: .68rem; line-height: 1.5; }
.cv-status.is-error { border-color: rgba(255, 113, 113, .32); background: rgba(255, 70, 70, .08); color: #ffc7c7; }
.cv-status.is-loading { background-image: linear-gradient(100deg, transparent 20%, rgba(255, 255, 255, .08) 50%, transparent 80%); background-size: 200% 100%; animation: statusShimmer 1.2s linear infinite; }
@keyframes statusShimmer { to { background-position: -200% 0; } }

.skills-section { padding-top: 25px; }
.section-heading-row { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.selection-count { color: var(--app-quiet-copy); font-size: .61rem; }
.section-description { margin: 9px 0 16px; }
.skill-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.skill-option { position: relative; min-height: 76px; padding: 12px 12px 12px 14px; border: 1px solid var(--app-line); border-radius: 10px; display: grid; grid-template-columns: 17px minmax(0, 1fr) auto; align-items: start; gap: 10px; background: var(--app-surface); cursor: pointer; transition: border-color 170ms ease, background 170ms ease, transform 170ms ease; }
.skill-option:hover { transform: translateY(-1px); border-color: rgba(255, 255, 255, .22); }
.skill-option:has(input:checked) { border-color: rgba(167, 211, 111, .52); background: rgba(167, 211, 111, .055); }
.skill-option input { position: absolute; opacity: 0; pointer-events: none; }
.skill-check { width: 16px; height: 16px; margin-top: 2px; border: 1px solid #57545c; border-radius: 4px; display: grid; place-items: center; color: #050505; font-size: .67rem; line-height: 1; }
.skill-option input:checked + .skill-check { border-color: var(--green); background: var(--green); }
.skill-option input:checked + .skill-check::after { content: "✓"; }
.skill-option:focus-within { outline: 2px solid var(--purple-soft); outline-offset: 2px; }
.skill-option-copy strong,
.skill-option-copy small { display: block; }
.skill-option-copy strong { margin-bottom: 5px; color: #e1dee5; font-size: .67rem; font-weight: 620; }
.skill-option-copy small { color: var(--app-quiet-copy); font-size: .56rem; line-height: 1.4; }
.skill-project-count { color: var(--green); font-size: .54rem; white-space: nowrap; }

.match-preview { min-height: 53px; margin-top: 13px; padding: 11px 13px; border-top: 1px solid var(--app-line-soft); border-bottom: 1px solid var(--app-line-soft); display: flex; align-items: center; gap: 10px; }
.match-signal { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: #65616b; }
.match-preview.has-match .match-signal { background: var(--green); box-shadow: 0 0 0 5px rgba(167, 211, 111, .1); }
.match-preview p { margin: 0; color: var(--app-body-copy); font-size: .64rem; line-height: 1.45; }
.match-preview strong { color: var(--paper); }

.identity-intro-grid { display: grid; grid-template-columns: minmax(0, 1fr) 120px; align-items: center; gap: 25px; }
.identity-intro-grid .section-code { margin-bottom: 12px; }
.identity-intro-grid h3,
.payment-lead h3,
.region-lead h3,
.review-lead h3 { font-size: clamp(1.55rem, 2.6vw, 2.15rem); }
.identity-intro-grid > div:first-child > p { max-width: 510px; margin-bottom: 17px; }
.identity-orbit { position: relative; width: 104px; height: 104px; margin: 0 auto; border: 1px solid rgba(140, 82, 255, .18); border-radius: 50%; display: grid; place-items: center; }
.identity-orbit-ring { position: absolute; inset: 11px; border: 1px solid rgba(167, 211, 111, .33); border-radius: 50%; animation: identityOrbit 11s linear infinite; }
.identity-orbit-ring::before { position: absolute; top: 7px; left: 13px; width: 5px; height: 5px; border-radius: 50%; background: var(--green); content: ""; box-shadow: 0 0 15px rgba(167, 211, 111, .6); }
.identity-orbit-core { width: 40px; height: 40px; border-radius: 13px; display: grid; place-items: center; background: linear-gradient(140deg, #a77aff, #6137b7); color: white; font-size: 1.18rem; font-weight: 720; box-shadow: 0 0 28px rgba(140, 82, 255, .23); }
.identity-orbit-dot { position: absolute; right: 11px; bottom: 17px; width: 8px; height: 8px; border: 2px solid var(--ink); border-radius: 50%; background: var(--green); }
@keyframes identityOrbit { to { transform: rotate(360deg); } }

.verification-card { position: relative; overflow: hidden; padding: 19px 20px 18px; border: 1px solid var(--app-line); border-radius: 13px; background: radial-gradient(ellipse at 100% 0, rgba(140, 82, 255, .08), transparent 37%), var(--app-surface); }
.verification-card.is-verifying::after { position: absolute; top: 0; left: 0; width: 34%; height: 2px; background: linear-gradient(90deg, transparent, var(--green), var(--purple-soft), transparent); content: ""; animation: verificationBar 1.05s ease-in-out infinite; }
.verification-card.is-verifying .provider-mark { animation: loadingPulse .7s ease-in-out infinite alternate; }
@keyframes verificationBar { from { transform: translateX(-100%); } to { transform: translateX(300%); } }
.verification-provider { display: flex; align-items: center; gap: 11px; padding-bottom: 17px; border-bottom: 1px solid var(--app-line-soft); }
.provider-mark { width: 35px; height: 35px; border: 1px solid rgba(140, 82, 255, .35); border-radius: 11px; display: grid; place-items: center; background: rgba(140, 82, 255, .13); color: #c6a7ff; font-size: .83rem; font-weight: 740; }
.verification-provider strong,
.verification-provider small { display: block; }
.verification-provider strong { color: var(--paper); font-size: .7rem; font-weight: 620; }
.verification-provider small { margin-top: 4px; color: var(--app-quiet-copy); font-size: .58rem; }
.provider-lock { margin-left: auto; color: var(--green); font-size: 1.1rem; }
.verification-details { padding: 7px 0 4px; }
.verification-details > div { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 9px; padding: 11px 0; }
.verification-details > div + div { border-top: 1px solid var(--app-line-soft); }
.verification-details > div > span { padding-top: 2px; color: var(--purple-soft); font-size: .57rem; }
.verification-details p { margin: 0; }
.verification-details strong,
.verification-details small { display: block; }
.verification-details strong { margin-bottom: 4px; color: #d9d6de; font-size: .67rem; font-weight: 620; }
.verification-details small { color: var(--app-quiet-copy); font-size: .59rem; }
.verification-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding-top: 8px; }
.verification-actions .primary-action { min-width: 206px; }
.verification-result { margin: 7px 0 14px; padding: 14px; border: 1px solid rgba(167, 211, 111, .34); border-radius: 10px; display: flex; align-items: flex-start; gap: 11px; background: rgba(167, 211, 111, .07); animation: resultArrive 380ms ease both; }
.verification-result.is-error { border-color: rgba(255, 130, 89, .38); background: rgba(255, 130, 89, .065); }
.verification-result.is-review { border-color: rgba(140, 82, 255, .36); background: rgba(140, 82, 255, .065); }
@keyframes resultArrive { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
.verification-result-mark { width: 25px; height: 25px; flex: 0 0 auto; border-radius: 50%; display: grid; place-items: center; background: var(--green); color: #090909; font-size: .74rem; font-weight: 750; }
.is-error .verification-result-mark { background: #ff8259; color: #1b0c07; }
.is-review .verification-result-mark { background: var(--purple-soft); color: #17121d; }
.verification-result strong,
.verification-result small { display: block; }
.verification-result strong { margin-bottom: 4px; color: var(--paper); font-size: .69rem; }
.verification-result small { color: var(--app-body-copy); font-size: .6rem; line-height: 1.5; }
.identity-loading-dots { display: inline-flex; gap: 4px; margin-left: 4px; }
.identity-loading-dots i { width: 4px; height: 4px; border-radius: 50%; background: currentColor; animation: loadingPulse .85s ease-in-out infinite alternate; }
.identity-loading-dots i:nth-child(2) { animation-delay: .18s; }
.identity-loading-dots i:nth-child(3) { animation-delay: .36s; }
@keyframes loadingPulse { to { opacity: .25; transform: translateY(-3px); } }

.privacy-note { margin-top: 14px; }
.payment-lead .section-code,
.region-lead .section-code,
.review-lead .section-code { margin-bottom: 11px; }
.payment-lead > p,
.region-lead > p,
.review-lead > p { max-width: 640px; margin: 10px 0 19px; }
.payment-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-bottom: 19px; }
.weekly-hours-policy { margin: -7px 0 17px; padding: 12px 14px; border: 1px solid rgba(167, 211, 111, .29); border-left: 3px solid var(--green); border-radius: 9px; background: rgba(167, 211, 111, .055); color: var(--app-body-copy); font-size: .64rem; line-height: 1.55; }
.weekly-hours-policy strong { color: var(--paper); font-weight: 690; }

.earnings-estimate { padding: 18px 20px 16px; border: 1px solid var(--app-line); border-radius: 12px; background: linear-gradient(125deg, rgba(140, 82, 255, .075), transparent 48%), var(--app-surface); }
.estimate-topline { display: flex; align-items: center; gap: 9px; color: var(--app-body-copy); font-size: .62rem; }
.estimate-pulse { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(167, 211, 111, .09); }
.estimate-tag { margin-left: auto; color: var(--app-quiet-copy); font-size: .55rem; }
.estimate-tag.is-loading { animation: estimatePulse .8s ease-in-out infinite alternate; }
@keyframes estimatePulse { to { opacity: .42; } }
.estimate-main { margin: 20px 0 18px; display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
.estimate-main > div > strong,
.estimate-main > div > span { display: block; }
.estimate-main > div:first-child > strong { color: var(--paper); font-size: clamp(2.1rem, 4vw, 3.1rem); line-height: 1; letter-spacing: -.065em; font-weight: 600; }
.estimate-main > div:first-child > span { margin-top: 6px; color: var(--app-quiet-copy); font-size: .61rem; }
.estimate-rate { text-align: right; }
.estimate-rate strong { color: var(--green); font-size: .94rem; font-weight: 650; }
.estimate-rate span { margin-top: 4px; color: var(--app-quiet-copy); font-size: .56rem; }
.estimate-timeline { min-height: 55px; padding: 13px 0 0; border-top: 1px solid var(--app-line-soft); display: grid; grid-template-columns: 9px minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.timeline-mark { width: 8px; height: 8px; border: 2px solid var(--purple-soft); border-radius: 50%; }
.estimate-timeline p { margin: 0; color: var(--app-quiet-copy); font-size: .57rem; line-height: 1.45; }
.estimate-timeline p strong { color: var(--paper); font-size: .67rem; font-weight: 620; }
.timeline-caption { color: var(--app-quiet-copy); font-size: .56rem; text-align: right; }
.estimate-caveat { margin: 14px 0 0; color: var(--app-quiet-copy); font-size: .57rem; line-height: 1.5; }

.consent-row { position: relative; margin-top: 17px; display: grid; grid-template-columns: 17px minmax(0, 1fr); align-items: start; gap: 11px; color: var(--app-body-copy); font-size: .64rem; line-height: 1.55; cursor: pointer; }
.consent-row input { position: absolute; width: 17px; height: 17px; margin: 0; opacity: 0; }
.consent-box { width: 17px; height: 17px; border: 1px solid #696671; border-radius: 4px; display: grid; place-items: center; color: #050505; font-size: .68rem; }
.consent-row input:checked + .consent-box { border-color: var(--green); background: var(--green); }
.consent-row input:checked + .consent-box::after { content: "✓"; }
.consent-row input:focus-visible + .consent-box { outline: 2px solid var(--purple-soft); outline-offset: 2px; }

.recommendation-banner { min-height: 61px; margin-bottom: 13px; padding: 11px 15px; border: 1px solid rgba(167, 211, 111, .24); border-radius: 10px; display: flex; align-items: center; gap: 12px; background: rgba(167, 211, 111, .055); }
.recommendation-mark { width: 29px; height: 29px; border-radius: 9px; display: grid; place-items: center; background: rgba(167, 211, 111, .15); color: var(--green); font-size: .92rem; }
.recommendation-banner p { margin: 0; }
.recommendation-banner strong,
.recommendation-banner span { display: block; }
.recommendation-banner strong { margin-bottom: 3px; color: var(--green); font-size: .62rem; font-weight: 670; }
.recommendation-banner p span { color: var(--app-body-copy); font-size: .6rem; }

.region-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.onboarding-proxy-checkout { margin-top: 15px; padding: 19px 20px 17px; border: 1px solid rgba(140, 82, 255, .32); border-radius: 13px; background: linear-gradient(135deg, rgba(140, 82, 255, .075), transparent 42%), rgba(16, 16, 17, .96); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045); }
.onboarding-proxy-checkout[hidden] { display: none; }
.onboarding-proxy-checkout-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 15px; border-bottom: 1px solid var(--app-line-soft); }
.onboarding-proxy-checkout-heading h3 { margin: 2px 0 5px; color: var(--paper); font-size: 1rem; letter-spacing: -.025em; font-weight: 630; }
.onboarding-proxy-checkout-heading p { margin: 0; color: var(--app-body-copy); font-size: .65rem; line-height: 1.5; }
.onboarding-proxy-checkout-price { min-width: 130px; text-align: right; }
.onboarding-proxy-checkout-price span,.onboarding-proxy-checkout-price strong,.onboarding-proxy-checkout-price small { display: block; }
.onboarding-proxy-checkout-price span { color: var(--app-quiet-copy); font-size: .56rem; }
.onboarding-proxy-checkout-price strong { margin-top: 3px; color: var(--paper); font-size: 1.34rem; line-height: 1.1; letter-spacing: -.045em; }
.onboarding-proxy-checkout-price small { margin-top: 4px; color: var(--app-body-copy); font-size: .58rem; }
.onboarding-proxy-checkout-payment { margin-top: 14px; display: grid; grid-template-columns: minmax(180px, .8fr) minmax(0, 1fr); align-items: end; gap: 13px; }
.proxy-method-note { min-height: 53px; padding: 9px 11px; border-left: 2px solid var(--green); background: rgba(167, 211, 111, .045); }
.proxy-method-note strong,.proxy-method-note span { display: block; }
.proxy-method-note strong { margin-bottom: 3px; color: var(--paper); font-size: .61rem; font-weight: 640; }
.proxy-method-note span { color: var(--app-body-copy); font-size: .57rem; line-height: 1.45; }
.proxy-purchase-consent { margin-top: 13px; }
.onboarding-proxy-checkout-actions { margin-top: 15px; display: flex; align-items: center; gap: 15px; }
.onboarding-proxy-checkout-actions .primary-action { flex: 0 0 auto; min-height: 46px; padding-inline: 20px; }
.onboarding-proxy-checkout-actions .primary-action:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.proxy-payment-status { min-height: 1.5em; margin: 0; color: var(--app-body-copy); font-size: .6rem; line-height: 1.5; }
.proxy-payment-status.is-error { color: #ff9a7a; }
.proxy-payment-status.is-success { color: var(--green); }
.proxy-payment-status.is-pending::before { width: 6px; height: 6px; margin-right: 8px; border-radius: 50%; display: inline-block; background: var(--green); content: ""; animation: estimatePulse .8s ease-in-out infinite alternate; }
.region-card { min-width: 0; min-height: 174px; padding: 15px; border: 1px solid var(--app-line); border-radius: 11px; display: flex; flex-direction: column; align-items: stretch; background: var(--app-surface); color: var(--paper); text-align: left; cursor: pointer; transition: border-color 170ms ease, background 170ms ease, transform 170ms ease; }
.region-card:hover:not(:disabled) { transform: translateY(-1px); border-color: rgba(255, 255, 255, .25); }
.region-card.selected { border-color: rgba(167, 211, 111, .65); background: linear-gradient(145deg, rgba(167, 211, 111, .07), transparent 64%), var(--app-surface-high); box-shadow: inset 0 0 0 1px rgba(167, 211, 111, .1); }
.region-card.recommended:not(.selected) { border-color: rgba(140, 82, 255, .44); }
.region-card:disabled { opacity: .48; cursor: not-allowed; }
.region-card:focus-visible { outline: 2px solid var(--purple-soft); outline-offset: 3px; }
.region-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.region-name-lockup { display: flex; align-items: center; gap: 9px; }
.region-flag { width: 30px; height: 30px; border: 1px solid var(--app-line); border-radius: 9px; display: grid; place-items: center; background: rgba(255, 255, 255, .035); font-size: .95rem; }
.region-name-lockup strong,
.region-name-lockup small { display: block; }
.region-name-lockup strong { color: var(--paper); font-size: .7rem; font-weight: 640; }
.region-name-lockup small { margin-top: 3px; color: var(--app-quiet-copy); font-size: .57rem; }
.region-badge { padding: 5px 7px; border-radius: 999px; background: rgba(140, 82, 255, .12); color: #c4a9ff; font-size: .51rem; font-weight: 620; white-space: nowrap; }
.region-badge.matching { background: rgba(167, 211, 111, .11); color: var(--green); }
.region-projects { min-height: 46px; margin: 13px 0 11px; color: var(--app-body-copy); font-size: .59rem; line-height: 1.5; }
.region-projects strong { color: var(--paper); font-weight: 610; }
.region-card-bottom { margin-top: auto; padding-top: 10px; border-top: 1px solid var(--app-line-soft); display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.region-price { color: var(--paper); font-size: .83rem; font-weight: 650; }
.region-price small { margin-left: 3px; color: var(--app-quiet-copy); font-size: .54rem; font-weight: 450; }
.region-match-count { color: var(--app-quiet-copy); font-size: .54rem; }

.proxy-explainer { margin-top: 16px; padding: 17px 18px; border: 1px solid rgba(176, 154, 255, .3); border-left: 3px solid #a382ff; border-radius: 12px; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 13px; background: linear-gradient(112deg, rgba(140, 82, 255, .105), rgba(255, 255, 255, .025) 58%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .055); }
.proxy-explainer-mark { width: 32px; height: 32px; border: 1px solid rgba(195, 171, 255, .22); border-radius: 9px; display: grid; place-items: center; background: rgba(140, 82, 255, .2); color: #d7c5ff; font-size: .86rem; }
.proxy-explainer-label { display: block; margin: 0 0 5px; color: #c4adff; font-size: .54rem; font-weight: 720; letter-spacing: .13em; }
.proxy-explainer h4 { margin: 0 0 6px; color: var(--paper); font-size: .82rem; font-weight: 700; line-height: 1.35; letter-spacing: -.01em; }
.proxy-explainer p { max-width: 92ch; margin: 0; color: #cbc7d2; font-size: .71rem; line-height: 1.6; }
.proxy-explainer .proxy-explainer-detail { margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(221, 212, 245, .12); color: #aaa5b1; font-size: .67rem; }
.proxy-explainer-detail strong { color: #ebe7f0; font-weight: 680; }

.review-lead { margin-bottom: 17px; }
.review-sheet { padding: 19px 20px 5px; border: 1px solid var(--app-line); border-radius: 12px; background: linear-gradient(140deg, rgba(255, 255, 255, .026), transparent 45%), var(--app-surface); }
.review-sheet-head { padding-bottom: 15px; border-bottom: 1px solid var(--app-line); display: flex; align-items: center; justify-content: space-between; gap: 15px; color: var(--app-quiet-copy); font-size: .52rem; letter-spacing: .09em; }
.review-wordmark { color: var(--paper); font-size: .95rem; font-weight: 850; letter-spacing: -.08em; }
.review-wordmark small { margin-left: 5px; color: var(--app-quiet-copy); font-size: .45rem; font-weight: 500; letter-spacing: .08em; }
.review-section { padding: 15px 0; border-bottom: 1px solid var(--app-line-soft); }
.review-section:last-child { border-bottom: 0; }
.review-section-title { margin-bottom: 11px; display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.review-section-title h4 { margin: 0; color: var(--paper); font-size: .67rem; font-weight: 630; }
.review-section-title button { padding: 4px 0; border: 0; background: none; color: var(--purple-soft); font-size: .59rem; cursor: pointer; }
.review-grid { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px 16px; }
.review-grid div { min-width: 0; }
.review-grid dt { margin-bottom: 4px; color: var(--app-quiet-copy); font-size: .53rem; }
.review-grid dd { margin: 0; overflow-wrap: anywhere; color: #e1dee5; font-size: .63rem; }
.review-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.review-tags span { padding: 6px 9px; border: 1px solid var(--app-line); border-radius: 999px; color: #d2ced7; font-size: .56rem; }
.review-muted { margin: 0; color: var(--app-body-copy); font-size: .62rem; line-height: 1.55; }
.review-region-lockup { display: flex; align-items: center; gap: 9px; color: var(--paper); font-size: .65rem; }
.review-region-lockup > span:first-child { font-size: 1.1rem; }
.review-region-lockup strong { display: block; }
.review-region-lockup small { display: block; margin-top: 4px; color: var(--app-quiet-copy); font-size: .56rem; }

.download-summary { width: 100%; margin-top: 11px; padding: 12px 14px; border: 1px solid var(--app-line); border-radius: 10px; display: flex; align-items: center; gap: 12px; background: rgba(255, 255, 255, .02); color: var(--paper); text-align: left; cursor: pointer; transition: border-color 160ms ease, background 160ms ease; }
.download-summary:hover { border-color: rgba(140, 82, 255, .48); background: rgba(140, 82, 255, .055); }
.download-summary > span:first-child { width: 29px; height: 29px; border: 1px solid var(--app-line); border-radius: 9px; display: grid; place-items: center; color: var(--purple-soft); font-size: .85rem; }
.download-summary strong,
.download-summary small { display: block; }
.download-summary strong { margin-bottom: 4px; font-size: .65rem; font-weight: 640; }
.download-summary small { color: var(--app-quiet-copy); font-size: .56rem; }
.review-consent { margin-top: 15px; }

.flow-actions { position: relative; z-index: 2; margin-top: 26px; padding-top: 17px; border-top: 1px solid var(--app-line-soft); display: flex; align-items: center; justify-content: space-between; gap: 13px; }
.back-action { min-height: 44px; padding: 0 14px; border: 1px solid rgba(255, 255, 255, .2); border-radius: 999px; display: inline-flex; align-items: center; gap: 9px; background: rgba(255, 255, 255, .06); color: #ece9f1; font-size: .7rem; font-weight: 660; cursor: pointer; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08); transition: background 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
.back-action > span { width: 21px; height: 21px; border: 1px solid rgba(255, 255, 255, .2); border-radius: 50%; display: grid; place-items: center; color: inherit; font-size: .78rem; line-height: 1; }
.back-action:hover:not(:disabled) { border-color: rgba(167, 120, 255, .58); background: rgba(140, 82, 255, .13); color: #fff; transform: translateY(-1px); }
.back-action:disabled { border-color: rgba(255, 255, 255, .14); background: rgba(255, 255, 255, .045); color: #bdb9c3; cursor: default; box-shadow: none; }
.back-action:focus-visible { outline: 3px solid rgba(167, 120, 255, .62); outline-offset: 3px; }
.primary-action { min-height: 48px; padding: 0 22px; border: 1px solid rgba(255, 255, 255, .72); border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; background: var(--paper); color: #080808; font-size: .7rem; font-weight: 730; cursor: pointer; box-shadow: 0 8px 24px rgba(0, 0, 0, .19); transition: transform 160ms ease, background 160ms ease, box-shadow 160ms ease; }
.primary-action:hover { transform: translateY(-1px); background: #fff; box-shadow: 0 11px 29px rgba(0, 0, 0, .24); }
.primary-action:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.flow-disclosure { margin: 13px 0 0; color: var(--app-quiet-copy); font-size: .56rem; line-height: 1.5; text-align: right; }

.success-step { max-width: 650px; margin: 22px auto 0; text-align: center; }
.success-scene { position: relative; width: 156px; height: 156px; margin: 0 auto 17px; display: grid; place-items: center; }
.success-ring { position: absolute; border: 1px solid rgba(167, 211, 111, .24); border-radius: 50%; animation: successBloom 700ms cubic-bezier(.2, .8, .2, 1) both; }
.success-ring-one { inset: 13px; }
.success-ring-two { inset: 0; border-color: rgba(140, 82, 255, .23); animation-delay: 100ms; }
@keyframes successBloom { from { opacity: 0; transform: scale(.78); } to { opacity: 1; transform: scale(1); } }
.success-mark { width: 62px; height: 62px; border-radius: 22px; display: grid; place-items: center; background: var(--green); color: #080808; font-size: 1.62rem; font-weight: 800; box-shadow: 0 0 49px rgba(167, 211, 111, .22); animation: successMarkArrive 450ms 150ms cubic-bezier(.2, .8, .2, 1) both; }
@keyframes successMarkArrive { from { opacity: 0; transform: scale(.58) rotate(-12deg); } to { opacity: 1; transform: scale(1) rotate(0); } }
.success-spark { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: var(--purple-soft); box-shadow: 0 0 14px rgba(167, 122, 255, .8); animation: sparkArrive 500ms 280ms ease both; }
.spark-one { top: 22px; right: 29px; }
.spark-two { bottom: 33px; left: 18px; background: var(--green); }
.spark-three { right: 13px; bottom: 53px; width: 3px; height: 3px; }
@keyframes sparkArrive { from { opacity: 0; transform: scale(0); } to { opacity: 1; transform: scale(1); } }
.success-eyebrow { justify-content: center; margin-bottom: 13px; }
.success-step h2 { margin: 0 auto 12px; font-size: clamp(2.3rem, 4.2vw, 3.4rem); line-height: .98; letter-spacing: -.065em; font-weight: 640; }
.success-copy { max-width: 540px; margin: 0 auto 23px; color: var(--app-body-copy); font-size: .81rem; line-height: 1.65; }
.success-next-steps { margin: 0 auto 19px; padding: 7px 16px; border-block: 1px solid var(--app-line); text-align: left; }
.success-next-steps > div { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 10px; padding: 11px 0; }
.success-next-steps > div + div { border-top: 1px solid var(--app-line-soft); }
.success-next-steps > div > span { color: var(--green); font-size: .6rem; }
.success-next-steps p { margin: 0; }
.success-next-steps strong,
.success-next-steps small { display: block; }
.success-next-steps strong { margin-bottom: 4px; color: var(--paper); font-size: .66rem; font-weight: 620; }
.success-next-steps small { color: var(--app-quiet-copy); font-size: .58rem; }
.preview-disclosure { margin: 0 auto 16px; color: var(--app-quiet-copy); font-size: .56rem; }
.success-home { min-width: 200px; text-decoration: none; }

.application-layout.is-complete { display: block; max-width: 890px; margin-inline: auto; }
.application-layout.is-complete .application-rail,
.application-layout.is-complete .flow-progress-wrap,
.application-layout.is-complete .flow-heading,
.application-layout.is-complete .flow-actions,
.application-layout.is-complete .flow-disclosure { display: none; }
.application-layout.is-complete .application-flow { padding: 0; border: 0; }

html[data-theme="light"] .application-page {
  --app-surface: rgba(255, 255, 255, .88);
  --app-surface-high: #fff;
  --app-line: rgba(29, 26, 35, .14);
  --app-line-soft: rgba(29, 26, 35, .08);
  --app-body-copy: #5e5964;
  --app-quiet-copy: #6d6875;
  background:
    radial-gradient(ellipse at 79% 19%, rgba(125, 69, 237, .09), transparent 32%),
    linear-gradient(rgba(29, 26, 35, .028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(29, 26, 35, .028) 1px, transparent 1px),
    #f4f1eb;
  background-size: auto, 54px 54px, 54px 54px, auto;
}

html[data-theme="light"] .application-page::before { background: radial-gradient(ellipse at center, transparent 47%, rgba(35, 29, 42, .08) 100%); }
html[data-theme="light"] .application-field,
html[data-theme="light"] .step-link strong,
html[data-theme="light"] .region-name-lockup strong,
html[data-theme="light"] .review-grid dd,
html[data-theme="light"] .verification-details strong,
html[data-theme="light"] .cv-drop-copy strong,
html[data-theme="light"] .proxy-explainer h4,
html[data-theme="light"] .review-section-title h4,
html[data-theme="light"] .download-summary,
html[data-theme="light"] .consent-row,
html[data-theme="light"] .estimate-timeline p strong { color: #211d26; }
html[data-theme="light"] .application-field input,
html[data-theme="light"] .application-field select { color: #211d26; }
html[data-theme="light"] .application-field input::placeholder { color: #6f6976; }
html[data-theme="light"] .application-field input[type="date"] { color-scheme: light; }
html[data-theme="light"] .step-list {
  border-color: rgba(52, 42, 63, .13);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .82), rgba(255, 255, 255, .48) 48%, rgba(255, 255, 255, .66)),
    rgba(246, 243, 249, .58);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .94), inset 0 -1px 0 rgba(43, 34, 55, .035), 0 18px 42px rgba(46, 34, 59, .09);
}
html[data-theme="light"] .step-link {
  background: linear-gradient(135deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, .29) 60%, rgba(255, 255, 255, .46));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .84);
}
html[data-theme="light"] .step-link[data-available="true"]:hover {
  border-color: rgba(82, 66, 101, .19);
  background: linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .56));
  box-shadow: inset 0 1px 0 #fff, 0 7px 18px rgba(46, 34, 59, .09);
  color: #211d26;
}
html[data-theme="light"] .step-link.current {
  border-color: rgba(125, 69, 237, .28);
  background: linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(217, 201, 255, .77) 55%, rgba(242, 236, 255, .88));
  box-shadow: inset 0 1px 0 #fff, inset 0 -1px 0 rgba(125, 69, 237, .08), 0 8px 23px rgba(91, 55, 150, .1);
}
html[data-theme="light"] .step-link.complete {
  border-color: rgba(92, 129, 43, .2);
  background: linear-gradient(135deg, rgba(255, 255, 255, .86), rgba(221, 238, 198, .64));
}
html[data-theme="light"] .step-link.current strong { color: #211d26; }
html[data-theme="light"] .step-link:not(.current):not(.complete) strong { color: #625c69; }
html[data-theme="light"] .step-link:not(.current):not(.complete) .step-index { color: #615b68; }
html[data-theme="light"] .step-link.complete .step-index { border-color: rgba(92, 129, 43, .34); background: linear-gradient(145deg, rgba(167, 211, 111, .35), rgba(167, 211, 111, .17)); color: #486c1b; }
html[data-theme="light"] .step-link.complete strong,
html[data-theme="light"] .application-signin strong,
html[data-theme="light"] .flow-step-number strong,
html[data-theme="light"] .flow-heading h2,
html[data-theme="light"] .estimate-main > div:first-child > strong,
html[data-theme="light"] .region-name-lockup strong,
html[data-theme="light"] .region-price,
html[data-theme="light"] .review-wordmark,
html[data-theme="light"] .success-step h2,
html[data-theme="light"] .success-next-steps strong { color: #211d26; }
html[data-theme="light"] .skill-option-copy strong { color: #28232d; }
html[data-theme="light"] .review-grid dd { color: #28232d; }
html[data-theme="light"] .review-tags span { color: #38323f; }
html[data-theme="light"] .weekly-hours-policy { border-color: #c6d5b0; border-left-color: #567c22; background: #f0f5e9; color: #48434d; }
html[data-theme="light"] .weekly-hours-policy strong { color: #2e421f; }
html[data-theme="light"] .region-badge { color: #5e38a4; }
html[data-theme="light"] .region-badge.matching { color: #43651f; }
html[data-theme="light"] .application-signin:hover,
html[data-theme="light"] .application-signin:hover strong { color: var(--purple); }
html[data-theme="light"] .flow-feedback { color: #893d2c; }
html[data-theme="light"] .verification-result small { color: #5e5964; }
html[data-theme="light"] .verification-result.is-review { border-color: rgba(104, 69, 164, .24); background: rgba(139, 102, 197, .08); }
html[data-theme="light"] .verification-result.is-review .verification-result-mark { background: #7652a5; color: #fff; }
html[data-theme="light"] .success-mark { color: #fff; }

/* Keep controls and supporting states crisp against the warm light canvas. */
html[data-theme="light"] .application-page {
  --app-line-soft: rgba(29, 26, 35, .11);
  --app-body-copy: #4f4a55;
  --app-quiet-copy: #5d5763;
}
html[data-theme="light"] .rail-note strong { color: #211d26; }
html[data-theme="light"] .application-field input::placeholder { color: #625c68; }
html[data-theme="light"] .application-field input[readonly] { border-color: #cbc6ce; background: #f2f0eb; color: #514b58; }
html[data-theme="light"] .password-control button { color: #514b58; font-weight: 650; }
html[data-theme="light"] .password-control button:hover { color: #211d26; }
html[data-theme="light"] .cv-drop { border-color: #817b88; background: rgba(255, 255, 255, .72); }
html[data-theme="light"] .cv-drop:hover,
html[data-theme="light"] .cv-drop:focus-within { border-color: #567c22; background: #f3f7eb; }
html[data-theme="light"] .cv-select-action { border-color: #aaa4ae; background: #fff; color: #211d26; }
html[data-theme="light"] .quiet-action { border-color: #b8b2bd; background: rgba(255, 255, 255, .58); color: #514b58; }
html[data-theme="light"] .quiet-action:hover:not(:disabled) { border-color: #7852bd; background: #f2ecff; color: #39215f; }
html[data-theme="light"] .quiet-action:disabled { border-color: #d1ccd3; background: #f4f1eb; color: #6d6875; opacity: 1; }
html[data-theme="light"] .cv-status { border-color: #c8b4ec; background: #f2ebff; color: #56358f; }
html[data-theme="light"] .cv-status.is-error { border-color: #e4aaaa; background: #fff0f0; color: #8d2929; }
html[data-theme="light"] .cv-status.is-loading { background-image: linear-gradient(100deg, transparent 20%, rgba(109, 54, 220, .10) 50%, transparent 80%); }
html[data-theme="light"] .skill-option:hover { border-color: rgba(29, 26, 35, .32); }
html[data-theme="light"] .skill-option:has(input:checked) { border-color: #567c22; background: #f0f6e6; }
html[data-theme="light"] .skill-option input:checked + .skill-check { border-color: #567c22; background: #567c22; color: #fff; }
html[data-theme="light"] .identity-orbit { border-color: rgba(109, 54, 220, .32); }
html[data-theme="light"] .identity-orbit-ring { border-color: rgba(86, 124, 34, .48); }
html[data-theme="light"] .provider-mark { border-color: #c2afe5; background: #f0eaff; color: #56358f; }
html[data-theme="light"] .verification-result-mark { color: #fff; }
html[data-theme="light"] .consent-box { border-color: #625c69; }
html[data-theme="light"] .consent-row input:checked + .consent-box { border-color: #567c22; background: #567c22; color: #fff; }
html[data-theme="light"] .recommendation-banner { border-color: #b8cf98; background: #f1f6e9; }
html[data-theme="light"] .recommendation-mark { background: #e1edcf; }
html[data-theme="light"] .region-card:hover:not(:disabled) { border-color: #797281; }
html[data-theme="light"] .region-card.selected { border-color: #567c22; background: linear-gradient(145deg, #f0f6e6, #fff 72%); box-shadow: inset 0 0 0 1px rgba(86, 124, 34, .2); }
html[data-theme="light"] .region-card.recommended:not(.selected) { border-color: #7955b6; }
html[data-theme="light"] .region-card:disabled { opacity: .76; }
html[data-theme="light"] .region-flag { background: #fff; }
html[data-theme="light"] .proxy-explainer { border-color: rgba(29, 26, 35, .14); border-left-color: #7955b6; background: linear-gradient(112deg, rgba(121, 85, 182, .08), rgba(255, 255, 255, .88) 58%); box-shadow: 0 8px 24px rgba(41, 29, 55, .055), inset 0 1px 0 #fff; }
html[data-theme="light"] .proxy-explainer-mark { border-color: rgba(121, 85, 182, .16); background: #eee7f8; color: #58358a; }
html[data-theme="light"] .proxy-explainer-label { color: #674294; }
html[data-theme="light"] .proxy-explainer p { color: #48434f; }
html[data-theme="light"] .proxy-explainer .proxy-explainer-detail { border-color: rgba(29, 26, 35, .12); color: #5b5662; }
html[data-theme="light"] .proxy-explainer-detail strong { color: #211d26; }
html[data-theme="light"] .onboarding-proxy-checkout { border-color: rgba(109, 54, 220, .28); background: linear-gradient(135deg, rgba(140, 82, 255, .055), transparent 42%), #fff; box-shadow: 0 12px 30px rgba(37, 27, 48, .07), inset 0 1px 0 #fff; }
html[data-theme="light"] .onboarding-proxy-checkout-heading { border-color: rgba(29, 26, 35, .12); }
html[data-theme="light"] .onboarding-proxy-checkout-heading h3,
html[data-theme="light"] .onboarding-proxy-checkout-price strong,
html[data-theme="light"] .proxy-method-note strong { color: #201b25; }
html[data-theme="light"] .onboarding-proxy-checkout-heading p,
html[data-theme="light"] .onboarding-proxy-checkout-price span,
html[data-theme="light"] .onboarding-proxy-checkout-price small,
html[data-theme="light"] .proxy-method-note span,
html[data-theme="light"] .proxy-payment-status { color: #57515e; }
html[data-theme="light"] .proxy-method-note { border-color: #567c22; background: #f4f8ef; }
html[data-theme="light"] .proxy-payment-status.is-error { color: #a33b20; }
html[data-theme="light"] .proxy-payment-status.is-success { color: #426719; }
html[data-theme="light"] .proxy-payment-status.is-pending::before { background: #567c22; }
html[data-theme="light"] .download-summary { background: rgba(255, 255, 255, .72); }
html[data-theme="light"] .back-action { border-color: rgba(29, 26, 35, .2); background: rgba(255, 255, 255, .88); color: #3b3541; box-shadow: 0 2px 8px rgba(41, 32, 48, .08), inset 0 1px 0 #fff; }
html[data-theme="light"] .back-action > span { border-color: rgba(29, 26, 35, .18); background: #f2eff4; }
html[data-theme="light"] .back-action:hover:not(:disabled) { border-color: rgba(109, 54, 220, .48); background: #fff; color: #211d26; }
html[data-theme="light"] .back-action:disabled { border-color: rgba(29, 26, 35, .16); background: #f0eef2; color: #55505c; opacity: 1; box-shadow: none; }
html[data-theme="light"] .primary-action {
  border-color: rgba(29, 26, 35, .18);
  background: linear-gradient(180deg, #fff, #f8f6f1);
  color: #17151b;
  box-shadow: 0 8px 22px rgba(41, 32, 48, .16), inset 0 1px 0 #fff;
}
html[data-theme="light"] .primary-action:hover:not(:disabled) {
  border-color: rgba(109, 54, 220, .38);
  background: #fff;
  color: #17151b;
  box-shadow: 0 10px 25px rgba(41, 32, 48, .19), inset 0 1px 0 #fff;
}
html[data-theme="light"] .primary-action:disabled {
  border-color: #c9c3ce;
  background: #e8e4dc;
  color: #625c68;
  opacity: 1;
  box-shadow: none;
}
html[data-theme="light"] .primary-action:focus-visible,
html[data-theme="light"] .quiet-action:focus-visible,
html[data-theme="light"] .back-action:focus-visible,
html[data-theme="light"] .review-section-title button:focus-visible,
html[data-theme="light"] .cv-select-action:focus-visible { outline: 3px solid rgba(109, 54, 220, .62); outline-offset: 3px; }

@media (max-width: 980px) {
  .application-main { padding-top: 36px; }
  .application-layout { grid-template-columns: minmax(0, 1fr); gap: 21px; }
  .application-rail { position: static; padding-top: 0; }
  .application-rail .eyebrow { margin-bottom: 10px; }
  .application-rail h1 { max-width: 620px; margin-bottom: 8px; font-size: clamp(2.3rem, 5vw, 3.3rem); }
  .rail-intro { max-width: 620px; margin-bottom: 17px; }
  .step-list { display: flex; gap: 6px; overflow-x: auto; padding: 7px; scrollbar-width: none; scroll-snap-type: x proximity; }
  .step-list::-webkit-scrollbar { display: none; }
  .step-link { min-width: 148px; min-height: 50px; padding: 5px 8px; grid-template-columns: 29px minmax(0, 1fr); scroll-snap-align: start; }
  .step-link small { display: none; }
  .step-link strong { margin: 0; font-size: .64rem; white-space: nowrap; }
  .step-index { width: 25px; height: 25px; font-size: .55rem; }
  .rail-note { display: none; }
  .application-flow { padding-left: 0; border-left: 0; }
  .flow-progress-wrap { margin-bottom: 28px; }
}

@media (max-width: 680px) {
  .application-topbar { width: calc(100% - 32px); min-height: 69px; }
  .application-topbar .wordmark { width: 85px; }
  .application-topbar .wordmark-name { font-size: 1.34rem; }
  .application-topbar .wordmark-sub { margin-top: 7px; font-size: .4rem; }
  .application-topbar-actions { gap: 10px; }
  .preview-chip { display: none; }
  .application-topbar .theme-toggle { width: 36px; height: 36px; font-size: .76rem; }
  .application-signin { font-size: .59rem; white-space: nowrap; }
  .application-signin strong { display: block; margin: 2px 0 0; text-align: right; }
  .application-main { width: calc(100% - 32px); padding: 25px 0 calc(30px + env(safe-area-inset-bottom)); }
  .application-rail .eyebrow,
  .application-rail h1,
  .rail-intro { display: none; }
  .step-list { gap: 4px; margin-inline: -4px; padding: 6px; border-radius: 15px; }
  .step-link { min-width: 111px; min-height: 46px; grid-template-columns: 23px minmax(0, 1fr); gap: 5px; padding: 4px 5px; border-radius: 10px; }
  .step-index { width: 21px; height: 21px; font-size: .49rem; }
  .step-link strong { overflow: hidden; font-size: .57rem; text-overflow: ellipsis; }
  .flow-progress-wrap { margin: 8px 0 22px; }
  .flow-progress-copy { font-size: .57rem; }
  .flow-heading { min-height: 0; margin-bottom: 22px; gap: 9px; }
  .flow-heading .eyebrow { margin-bottom: 11px; font-size: .53rem; }
  .flow-heading h2 { max-width: 345px; font-size: clamp(1.9rem, 9vw, 2.55rem); }
  .flow-heading > div:first-child > p:last-child { max-width: 360px; font-size: .74rem; }
  .flow-step-number { padding-top: 6px; }
  .flow-step-number strong { font-size: .83rem; }
  .flow-step-number span { font-size: .5rem; }
  .field-grid { grid-template-columns: minmax(0, 1fr); gap: 13px; }
  .field-span-two { grid-column: auto; }
  .application-field { gap: 6px; font-size: .65rem; }
  .application-field input,
  .application-field select { height: 47px; font-size: .72rem; }
  .phone-input-row { grid-template-columns: 105px minmax(0, 1fr); }
  .phone-input-row select { font-size: .63rem; }
  .form-note { margin-top: 14px; font-size: .59rem; }
  .cv-section { padding-bottom: 19px; }
  .cv-copy h3,
  .section-heading-row h3 { font-size: 1.1rem; }
  .cv-copy > p,
  .section-description { font-size: .68rem; }
  .cv-drop { min-height: 72px; padding: 10px; grid-template-columns: 34px minmax(0, 1fr); gap: 9px; }
  .cv-file-mark { width: 32px; height: 37px; }
  .cv-select-action { grid-column: 2; justify-self: start; padding: 7px 10px; font-size: .57rem; }
  .cv-analysis-row { align-items: flex-start; flex-direction: column; gap: 10px; }
  .cv-analysis-row p { font-size: .57rem; }
  .skill-options { grid-template-columns: minmax(0, 1fr); gap: 7px; }
  .skill-option { min-height: 65px; padding: 10px 11px; }
  .skill-option-copy strong { font-size: .64rem; }
  .skill-option-copy small { font-size: .55rem; }
  .skill-project-count { font-size: .5rem; }
  .match-preview p { font-size: .61rem; }
  .identity-intro-grid { grid-template-columns: minmax(0, 1fr) 70px; gap: 8px; }
  .identity-orbit { width: 68px; height: 68px; }
  .identity-orbit-ring { inset: 7px; }
  .identity-orbit-core { width: 31px; height: 31px; border-radius: 10px; font-size: .9rem; }
  .identity-orbit-dot { right: 5px; bottom: 11px; }
  .identity-intro-grid h3,
  .payment-lead h3,
  .region-lead h3,
  .review-lead h3 { font-size: 1.58rem; }
  .identity-intro-grid > div:first-child > p,
  .payment-lead > p,
  .region-lead > p,
  .review-lead > p { font-size: .69rem; }
  .verification-card { padding: 14px; }
  .verification-actions { align-items: stretch; flex-direction: column; }
  .verification-actions .primary-action { min-width: 0; }
  .verification-actions .quiet-action { align-self: flex-start; }
  .payment-controls { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .earnings-estimate { padding: 15px 14px; }
  .estimate-main { align-items: flex-start; flex-direction: column; gap: 13px; }
  .estimate-main > div:first-child > strong { font-size: 2.2rem; }
  .estimate-rate { text-align: left; }
  .estimate-timeline { grid-template-columns: 8px minmax(0, 1fr); }
  .timeline-caption { grid-column: 2; text-align: left; }
  .region-options { grid-template-columns: minmax(0, 1fr); }
  .onboarding-proxy-checkout-heading { flex-direction: column; gap: 12px; }
  .onboarding-proxy-checkout-price { text-align: left; }
  .onboarding-proxy-checkout-payment { grid-template-columns: minmax(0, 1fr); }
  .onboarding-proxy-checkout-actions { align-items: stretch; flex-direction: column; }
  .onboarding-proxy-checkout-actions .primary-action { width: 100%; }
  .region-card { min-height: 155px; }
  .proxy-explainer { padding: 14px; grid-template-columns: 30px minmax(0, 1fr); gap: 11px; }
  .proxy-explainer-mark { width: 29px; height: 29px; }
  .proxy-explainer h4 { font-size: .78rem; }
  .proxy-explainer p { font-size: .69rem; }
  .proxy-explainer .proxy-explainer-detail { font-size: .65rem; }
  .review-sheet { padding: 15px 13px 4px; }
  .review-grid { grid-template-columns: minmax(0, 1fr); gap: 9px; }
  .review-sheet-head { font-size: .45rem; }
  .flow-actions { position: sticky; bottom: 0; margin-top: 21px; padding: 13px 0 calc(7px + env(safe-area-inset-bottom)); background: linear-gradient(180deg, transparent, var(--ink) 17%); }
  .primary-action { min-height: 46px; padding-inline: 17px; font-size: .66rem; }
  .back-action { min-height: 44px; font-size: .63rem; }
  .flow-disclosure { padding-bottom: 3px; font-size: .52rem; text-align: left; }
  .success-step { margin-top: 4px; }
  .success-scene { width: 130px; height: 130px; }
  .success-mark { width: 54px; height: 54px; border-radius: 19px; }
  .success-step h2 { font-size: 2.25rem; }
  .success-copy { font-size: .72rem; }
  .success-next-steps { padding-inline: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .application-page *,
  .application-page *::before,
  .application-page *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

@media print {
  body.application-page { min-width: 0; background: #fff !important; color: #141219 !important; }
  .application-page::before,
  .application-topbar,
  .application-rail,
  .flow-progress-wrap,
  .flow-heading,
  .flow-feedback,
  .flow-actions,
  .flow-disclosure,
  .review-section-title button,
  .download-summary,
  .review-consent { display: none !important; }
  .application-main { width: 100%; margin: 0; padding: 0; }
  .application-layout { display: block; }
  .application-flow { padding: 0; border: 0; }
  .application-step { display: none !important; animation: none !important; }
  .application-step[data-step-panel="5"] { display: block !important; }
  .review-sheet { padding: 0; border: 0; background: #fff; color: #141219; }
  .review-sheet-head { color: #605b66; }
  .review-wordmark,
  .review-section-title h4,
  .review-grid dd,
  .review-region-lockup { color: #141219; }
  .review-grid dt,
  .review-muted,
  .review-region-lockup small { color: #625d68; }
  .review-tags span { border-color: #d8d5dc; color: #302b35; }
}
