/* Adapted implementation starter, based on public Upwork CSS, 2026-10-05.
   Scope: light-theme public-site components. Proprietary font not bundled. */
.uw {
  --uw-brand: #108a00;
  --uw-brand-hover: #14a800;
  --uw-lime: #d2ff00;
  --uw-ink: #181818;
  --uw-muted: #676767;
  --uw-border: #e9e9e9;
  --uw-control-border: #8d8c8c;
  --uw-subtle: #f9f9f9;
  --uw-disabled-text: #a5a5a5;
  --uw-error: #c70e05;
  --uw-shadow: 2px 2px 8px 2px rgb(24 24 24 / 8%), 0 0 0 1px #e9e9e9;
  --uw-shadow-hover: 4px 4px 8px 2px rgb(24 24 24 / 12%), 0 0 0 1px #e9e9e9;
  color: var(--uw-ink);
  background: #fff;
  font-family: "Neue Montreal", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
}
.uw *, .uw *::before, .uw *::after { box-sizing: border-box; }
.uw :focus-visible { outline: 2px solid var(--uw-ink); outline-offset: 2px; }
.uw-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 24px;
  border: 2px solid transparent;
  border-radius: 8px;
  background: var(--uw-brand);
  color: #fff;
  font: 500 14px/1.4 "Neue Montreal", Arial, sans-serif;
  cursor: pointer;
  text-decoration: none;
  transition: 100ms ease-in-out;
}
.uw-button:hover:not(:disabled):not([aria-busy="true"]) { background: var(--uw-brand-hover); }
.uw-button:active:not(:disabled) { transform: scale(.96); }
.uw-button--secondary { background: #fff; color: var(--uw-brand); border-color: var(--uw-brand); }
.uw-button--secondary:hover:not(:disabled) { background: #f9f9f9; color: var(--uw-brand-hover); border-color: var(--uw-brand-hover); }
.uw-button--inverted { background: #fff; color: var(--uw-ink); }
.uw-button--inverted:hover:not(:disabled) { background: rgb(255 255 255 / 80%); }
.uw-button--pill { border-radius: 160px; }
.uw-button--small { min-height: 32px; padding-inline: 16px; }
.uw-button:disabled { background: var(--uw-border); color: var(--uw-disabled-text); border-color: transparent; cursor: not-allowed; }
.uw-button[aria-busy="true"] { cursor: progress; }
.uw-input {
  width: 100%; min-height: 40px; padding: 9px 16px;
  border: 1px solid var(--uw-control-border); border-radius: 8px;
  color: var(--uw-ink); background: #fff; font: 500 14px/1.5 "Neue Montreal", Arial, sans-serif;
  transition: border-color 150ms ease-in-out, box-shadow 150ms ease-in-out;
}
.uw-input::placeholder { color: var(--uw-muted); }
.uw-input:hover:not(:disabled), .uw-input:focus { border-color: var(--uw-ink); box-shadow: inset 0 0 0 1px var(--uw-ink); }
.uw-input[aria-invalid="true"] { border-color: var(--uw-error); box-shadow: inset 0 0 0 1px var(--uw-error); }
.uw-input:disabled { border-color: var(--uw-border); background: var(--uw-border); color: var(--uw-disabled-text); box-shadow: none; cursor: not-allowed; }
.uw-error { color: var(--uw-error); font-size: 14px; }
.uw-card { position: relative; background: #fff; padding: 24px; border: 1px solid var(--uw-border); border-radius: 12px; }
.uw-card--interactive { box-shadow: var(--uw-shadow); transition: box-shadow 500ms ease; }
.uw-card--interactive:hover { box-shadow: var(--uw-shadow-hover); }
.uw-category::before { content: ""; position: absolute; inset: -2px; border-radius: 16px; padding: 2px; background: linear-gradient(#181818,#14a800); mask: linear-gradient(#fff 0 0) content-box exclude,linear-gradient(#fff 0 0); opacity: 0; pointer-events: none; transition: opacity 300ms ease-in-out; }
.uw-category:hover::before, .uw-category[aria-pressed="true"]::before { opacity: 1; }
.uw-hero { padding: 48px 64px 64px; border-radius: 24px; background: var(--uw-ink); color: #fff; }
.uw-hero-title { max-width: 660px; font-size: 72px; line-height: 1.04; font-weight: 550; margin: 0; }
.uw-promo { border-radius: 24px; padding: 24px 32px; background: linear-gradient(#ffffff80,#ffffff80),linear-gradient(90deg,#dff69b,#95e79b 50%,#a9f9b2); }
.uw-segments { display: flex; gap: 8px; padding: 0; border-radius: 160px; background: rgb(255 255 255 / 20%); }
.uw-segments button { flex: 1; min-height: 38px; padding: 8px 24px; border: 2px solid transparent; border-radius: 160px; background: transparent; color: #fff; font: inherit; cursor: pointer; }
.uw-segments button[aria-selected="true"] { border-color: #fff; }
.uw-dropdown { padding: 24px; border: 1px solid var(--uw-border); border-radius: 0 0 16px 16px; background: #fff; box-shadow: 0 12px 32px rgb(24 24 24 / 12%); }
.uw-dropdown-enter { animation: uw-dropdown-in 100ms ease-out 200ms both; }
.uw-reveal { animation: uw-flip 2500ms cubic-bezier(.3,.7,.3,1) both; }
.uw-spinner { width: 18px; height: 18px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: uw-spin 1s linear infinite; }
@keyframes uw-spin { to { transform: rotate(1turn); } }
@keyframes uw-flip { from { opacity: .01; transform: perspective(1000px) translateX(10px) rotateY(25deg) scale(.9); } to { opacity: 1; transform: perspective(1000px) translateX(0) rotateY(0) scale(1); } }
@keyframes uw-dropdown-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 699.98px) {
  .uw-hero { padding: 32px 16px; border-radius: 0; }
  .uw-hero-title { font-size: 42px; }
  .uw-promo { border-radius: 0; padding: 16px; }
  .uw-segments button { padding-inline: 12px; }
}
/* Deliberately comprehensive adaptation; original hero/brand motion guards vary. */
@media (prefers-reduced-motion: reduce) {
  .uw *, .uw *::before, .uw *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .uw-button:active:not(:disabled) { transform: none; }
}
