.wm-newsite {
  --wm-yellow: var(--color-brand-yellow, #ffcb05);
  --wm-ink: var(--color-ink, #090909);
  --wm-paper: var(--color-paper, #fff);
  --wm-muted: var(--color-muted, #f4f4f4);
  --wm-line: var(--color-line, rgba(9, 9, 9, .12));
  --wm-err: #b3261e;
  max-width: 40rem;
  margin: 0 auto;
  padding: 3.5rem 1.25rem 5rem;
}
.wm-newsite:has(.wm-intake__layout) {
  max-width: 64rem;
}
.wm-newsite [hidden],
.wm-newsite [x-cloak] { display: none !important; }
.wm-newsite__kicker {
  font-size: .8rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .6;
  margin: 0 0 .5rem;
}
.wm-newsite h1 {
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  line-height: 1.15;
  margin: 0 0 .75rem;
}
.wm-newsite__intro { max-width: 40rem; }
.wm-newsite__lead {
  font-size: 1.15rem;
  line-height: 1.5;
  margin: 0 0 2rem;
  opacity: .85;
}

.wm-intake {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
  counter-reset: wm-group;
}
.wm-hp { position: absolute; left: -9999px; opacity: 0; height: 0; width: 0; }

.wm-field {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  min-width: 0;
  text-transform: none;
  letter-spacing: 0;
  color: var(--wm-ink);
  font-size: 1rem;
}
.wm-field > label:not(.wm-card),
.wm-field__label {
  display: block;
  font-family: var(--font-display, inherit);
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: 0;
  text-transform: none;
  color: var(--wm-ink);
}
.wm-field > label.wm-label-icon {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}
.wm-label-icon__mark {
  display: inline-flex;
  flex: 0 0 auto;
  width: 1.2rem;
  height: 1.2rem;
}
.wm-label-icon__mark svg {
  display: block;
  width: 1.2rem;
  height: 1.2rem;
}
.wm-field__head {
  display: flex;
  align-items: center;
  gap: .45rem;
}
.wm-field__head .wm-field__label { margin: 0; }
.wm-tip { position: relative; display: inline-flex; }
.wm-tip__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  padding: 0;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: .75rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
  opacity: .55;
  cursor: help;
}
.wm-tip__btn:hover,
.wm-tip__btn:focus-visible {
  opacity: 1;
  outline: none;
}
.wm-tip__pop {
  position: absolute;
  left: 0;
  top: calc(100% + .45rem);
  z-index: 8;
  width: min(22rem, calc(100vw - 3rem));
  padding: .75rem .9rem;
  background: var(--wm-ink);
  color: var(--wm-paper);
  font-size: .92rem;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0;
  text-transform: none;
  border-radius: .5rem;
  box-shadow: 0 10px 28px rgba(9, 9, 9, .18);
}
.wm-tip__pop::before {
  content: "";
  position: absolute;
  left: .45rem;
  top: -.35rem;
  border: .35rem solid transparent;
  border-bottom-color: var(--wm-ink);
  border-top-width: 0;
}
.wm-field.is-invalid > label:not(.wm-card),
.wm-field.is-invalid .wm-field__label,
.wm-field.is-invalid .wm-card__title {
  color: var(--wm-err);
}
.wm-brand-icon {
  display: inline-block;
  width: 1.15em;
  height: 1.15em;
  margin-left: .35em;
  vertical-align: -0.18em;
}

.wm-input-icon {
  position: relative;
}
.wm-input-icon__mark {
  position: absolute;
  left: 1rem;
  top: 50%;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  transform: translateY(-50%);
  pointer-events: none;
}
.wm-input-icon__mark svg {
  display: block;
  width: 1.35rem;
  height: 1.35rem;
}
.wm-intake .wm-input-icon input[type=url],
.wm-intake .wm-input-icon input[type=tel],
.wm-intake .wm-input-icon input[type=text] {
  padding-left: 3rem;
}

.wm-intake input[type=text],
.wm-intake input[type=tel],
.wm-intake input[type=email],
.wm-intake input[type=url],
.wm-intake input[type=search],
.wm-intake input[type=time],
.wm-intake select,
.wm-intake textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 3.35rem;
  padding: .85rem 1rem;
  border: 1.5px solid var(--wm-ink);
  border-radius: 0;
  background: var(--wm-paper);
  color: var(--wm-ink);
  font: inherit;
  font-size: 1.125rem;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
}
.wm-intake input[type=search] {
  appearance: none;
  -webkit-appearance: none;
}
.wm-intake input[type=search]::-webkit-search-decoration,
.wm-intake input[type=search]::-webkit-search-cancel-button,
.wm-intake input[type=search]::-webkit-search-results-button,
.wm-intake input[type=search]::-webkit-search-results-decoration {
  -webkit-appearance: none;
}
.wm-intake textarea { min-height: 6.5rem; resize: vertical; }
.wm-tagline { position: relative; }
.wm-tagline textarea { min-height: 15.5rem; padding-bottom: 2.85rem; }
.wm-tagline--item textarea { min-height: 8.8rem; }
.wm-tagline__ai {
  position: absolute;
  right: .55rem;
  bottom: .55rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  padding: 0;
  border: 1.5px solid var(--wm-ink);
  background: var(--wm-yellow);
  color: var(--wm-ink);
  cursor: pointer;
}
.wm-tagline__ai:hover { background: var(--wm-ink); color: var(--wm-yellow); }
.wm-tagline__ai:focus-visible {
  outline: 3px solid var(--wm-yellow);
  outline-offset: 2px;
}
.wm-tagline__ai.is-busy { animation: wm-tagline-pulse .9s ease-in-out infinite; }
.wm-tagline__status {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .85rem;
  padding: 1.25rem;
  background: var(--wm-muted);
  border: 1.5px solid var(--wm-ink);
  text-align: center;
}
.wm-tagline__status-text {
  margin: 0;
  font-size: 1.125rem;
}
.wm-tagline__bar {
  width: min(16rem, 80%);
  height: 8px;
  background: var(--wm-paper);
  border: 1.5px solid var(--wm-ink);
  overflow: hidden;
}
.wm-tagline__bar span {
  display: block;
  height: 100%;
  width: 40%;
  background: var(--wm-yellow);
  animation: wm-tagline-bar 1.1s ease-in-out infinite;
}
@keyframes wm-tagline-pulse { 50% { opacity: .4; } }
@keyframes wm-tagline-bar {
  0% { transform: translateX(-120%); }
  100% { transform: translateX(280%); }
}
@media (prefers-reduced-motion: reduce) {
  .wm-tagline__ai.is-busy { animation: none; opacity: .55; }
  .wm-tagline__bar span { animation: none; width: 100%; }
}
.wm-intake input:focus,
.wm-intake select:focus,
.wm-intake textarea:focus {
  outline: 3px solid var(--wm-yellow);
  outline-offset: 2px;
  background: var(--wm-paper);
}
.wm-intake select {
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='%23090909' d='M3 6l5 5 5-5'/></svg>");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.6rem;
}
.wm-field.is-invalid input[type=text],
.wm-field.is-invalid input[type=tel],
.wm-field.is-invalid input[type=email],
.wm-field.is-invalid input[type=url],
.wm-field.is-invalid input[type=search],
.wm-field.is-invalid input[type=time],
.wm-field.is-invalid select,
.wm-field.is-invalid textarea {
  border-color: var(--wm-err);
  outline-color: var(--wm-err);
}
.wm-field.is-invalid input:focus,
.wm-field.is-invalid select:focus,
.wm-field.is-invalid textarea:focus {
  outline-color: var(--wm-err);
}
.wm-field.is-invalid .wm-card {
  border-color: var(--wm-err);
}

.wm-langs__count {
  font-weight: 700;
  opacity: 1;
}

.wm-cards {
  display: flex;
  flex-direction: column;
  gap: .55rem;
}
.wm-card {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  min-height: 3.5rem;
  padding: .95rem 1rem;
  border: 1.5px solid var(--wm-ink);
  background: var(--wm-paper);
  cursor: pointer;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.3;
  text-transform: none;
  letter-spacing: 0;
  color: var(--wm-ink);
}
.wm-card > input[type=checkbox],
.wm-card > input[type=radio] {
  position: absolute;
  inset: 0;
  z-index: 1;
  margin: 0;
  opacity: 0;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  height: 100%;
}
.wm-card__tick {
  display: block;
  width: 1.4rem;
  height: 1.4rem;
  margin-top: .12rem;
  border: 1.5px solid var(--wm-ink);
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--wm-paper);
  box-sizing: border-box;
}
.wm-card--check .wm-card__tick { border-radius: 3px; }
.wm-card__body { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.wm-card__title { font-weight: 600; display: inline-flex; align-items: center; gap: .5rem; }
.wm-card__flag { font-size: 1.35em; line-height: 1; display: inline-flex; }
.wm-card__flag img.emoji { width: 1.2em; height: 1.2em; margin: 0 !important; }
.wm-card__help {
  font-size: .95rem;
  font-weight: 400;
  opacity: .72;
}
.wm-card:has(input:checked) { background: var(--wm-yellow); }
.wm-card:has(input:checked) .wm-card__tick {
  background: var(--wm-ink);
  box-shadow: inset 0 0 0 3px var(--wm-yellow);
}
.wm-card--check:has(input:checked) { background: var(--wm-paper); }
.wm-card--check:has(input:checked) .wm-card__tick {
  background-color: var(--wm-ink);
  box-shadow: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='square' d='M3.2 8.2l3 3 6.6-6.8'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: .85rem;
}
.wm-card:has(input:focus-visible) {
  outline: 3px solid var(--wm-yellow);
  outline-offset: 2px;
}
.wm-card--lang {
  align-items: center;
}
.wm-card__grip {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 1.75rem;
  min-height: 2.25rem;
  margin: -.15rem .05rem -.15rem -.25rem;
  padding: .2rem;
  border-radius: 4px;
  opacity: .72;
  cursor: grab;
  touch-action: none;
}
.wm-card__grip svg {
  display: block;
  width: .62rem;
  height: 1rem;
  fill: currentColor;
}
.wm-card--item:hover > .wm-card__grip,
.wm-card--lang:hover > .wm-card__grip,
.wm-card__grip:hover,
.wm-card__grip:focus-visible {
  opacity: 1;
  background: rgba(9, 9, 9, .06);
}
.wm-card__grip:focus-visible {
  outline: 3px solid var(--wm-yellow);
  outline-offset: 2px;
}
.wm-chat-pair .wm-card {
  font-size: .95rem;
}
.wm-chat-pair .wm-card:has(input:disabled) {
  opacity: .45;
  cursor: not-allowed;
}
.wm-card--lang .wm-card__tick { margin-top: 0; }
.wm-card.wm-card--lang.is-on .wm-card__tick {
  background-color: var(--wm-ink);
  box-shadow: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='square' d='M3.2 8.2l3 3 6.6-6.8'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: .85rem;
}
.wm-card--lang.is-locked {
  opacity: .38;
  cursor: not-allowed;
}
.wm-card--lang.is-locked input { cursor: not-allowed; }
.wm-card__badge {
  display: none;
  margin-left: auto;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  background: var(--wm-ink);
  color: var(--wm-paper);
  padding: .12rem .35rem;
  flex-shrink: 0;
}
.wm-card__badge.is-on { display: inline; }

.wm-file {
  position: relative;
  display: flex;
  cursor: pointer;
  border: 1.5px dashed var(--wm-ink);
  background: var(--wm-paper);
  min-height: 5.5rem;
}
.wm-file input[type=file] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.wm-file__ui {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .25rem;
  width: 100%;
  padding: 1.1rem 1.15rem;
  font-size: 1.05rem;
  text-transform: none;
  letter-spacing: 0;
}
.wm-file__ui strong { font-size: 1.15rem; }
.wm-file__ui [data-file-name] { opacity: .7; font-weight: 400; }
.wm-file:hover { background: #fff; }

.wm-drop {
  position: relative;
  display: flex;
  cursor: pointer;
  border: 2px dashed var(--wm-ink);
  background: var(--wm-muted);
  min-height: 7rem;
}
.wm-drop input[type=file] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.wm-drop__ui {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  width: 100%;
  padding: 1.15rem 1rem;
  text-align: center;
  font-size: 1.05rem;
  text-transform: none;
  letter-spacing: 0;
}
.wm-drop__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 1.5px solid var(--wm-ink);
  background: var(--wm-paper);
}
.wm-drop__ui strong { font-size: 1.15rem; }
.wm-drop__hint { opacity: .7; font-weight: 400; }
.wm-drop:hover,
.wm-drop.is-over { background: var(--wm-yellow); }
.wm-drop.is-over .wm-drop__hint { opacity: 1; }

.wm-hint {
  display: block;
  font-size: 1rem;
  font-weight: 400;
  opacity: .7;
  margin: 0;
  text-transform: none;
  letter-spacing: 0;
}
.wm-error {
  display: block;
  color: var(--wm-err);
  font-size: 1rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
}
.wm-error--form { margin-top: .25rem; }

.wm-actions {
  display: flex;
  flex-direction: column;
  gap: .7rem;
  margin-top: .25rem;
}
.wm-actions__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}
.wm-actions__where {
  font-weight: 500;
}
.wm-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-height: 3.35rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  font-size: 0.95rem;
  width: auto;
}
.wm-actions__arrow {
  display: block;
  flex-shrink: 0;
}
.wm-actions__next,
.wm-intake__submit { margin-left: auto; }
.wm-actions .btn[hidden],
.wm-actions .btn[x-cloak],
.wm-actions .btn[style*="display: none"] { display: none !important; }
.wm-btn-small {
  align-self: flex-start;
  min-height: 2.75rem;
  padding: .55rem 1rem;
  font-size: 1rem;
  width: auto;
}
.wm-intake__submit:disabled {
  opacity: .38;
  cursor: not-allowed;
  transform: none;
}
.wm-intake__submit:disabled:hover {
  background: var(--wm-ink);
  color: var(--wm-paper);
  border-color: var(--wm-ink);
  transform: none;
}
.wm-intake__submit.is-sending:disabled {
  opacity: .7;
  cursor: progress;
}
.wm-map {
  height: 280px;
  border: 1.5px solid var(--wm-ink);
  margin-top: .35rem;
}

.wm-newsite .wm-hours__all {
  display: flex;
  align-items: center;
  gap: .7rem;
  margin: 0 0 .15rem;
  padding: .15rem 0 .85rem;
  border-bottom: 1px solid var(--wm-line);
  font-weight: 600;
  font-size: 1.1rem;
  cursor: pointer;
}
.wm-newsite .wm-hours__all input[type=checkbox] {
  width: 1.35rem;
  height: 1.35rem;
  accent-color: var(--wm-ink);
  flex-shrink: 0;
}
.wm-newsite .wm-hours.is-all-day .wm-hours__all {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
.wm-newsite .wm-hours__day {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  padding: .85rem 0;
  border-bottom: 1px solid var(--wm-line);
  font-weight: 400;
}
.wm-newsite .wm-hours__name {
  width: auto;
  font-weight: 600;
  font-size: 1.1rem;
  padding: 0;
  display: flex;
  align-items: center;
  gap: .7rem;
  cursor: pointer;
}
.wm-newsite .wm-hours__name input[type=checkbox] {
  width: 1.35rem;
  height: 1.35rem;
  accent-color: var(--wm-ink);
  flex-shrink: 0;
}
.wm-newsite .wm-hours__day.is-closed .wm-hours__name { opacity: .55; }
.wm-newsite .wm-hours__range {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
}
.wm-newsite .wm-hours__range input[type=time] {
  width: auto;
  flex: 1 1 7rem;
  min-height: 3rem;
}
.wm-newsite .wm-hours__closed { font-size: 1rem; opacity: .65; }
.wm-newsite .wm-hours__tools { display: flex; flex-wrap: wrap; gap: .9rem; font-size: 1rem; }
.wm-newsite .button-link {
  background: none;
  border: 0;
  color: var(--wm-ink);
  cursor: pointer;
  padding: 0;
  font: inherit;
  font-size: 1rem;
  text-decoration: underline;
}
.wm-hours__x { color: var(--wm-err); text-decoration: none; }

.wm-newsite .wm-areas { display: flex; flex-direction: column; gap: .45rem; }
.wm-areas { position: relative; }
.wm-areas__box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
  min-height: 3.35rem;
  padding: .45rem .6rem;
  border: 1.5px solid var(--wm-ink);
  background: var(--wm-paper);
  cursor: text;
}
.wm-areas__box.is-open,
.wm-areas__box:focus-within {
  outline: 3px solid var(--wm-yellow);
  outline-offset: 2px;
}
.wm-areas__chip {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  max-width: 100%;
  padding: .2rem .35rem .2rem .4rem;
  border: 1.5px solid var(--wm-line);
  background: var(--wm-muted);
  font-size: .95rem;
  font-weight: 500;
  line-height: 1.3;
  cursor: grab;
  touch-action: none;
  -webkit-touch-callout: none;
}
.wm-areas__chip:focus-visible {
  outline: 3px solid var(--wm-yellow);
  outline-offset: 2px;
}
.wm-areas__grip {
  display: inline-flex;
  flex: 0 0 auto;
  opacity: .55;
}
.wm-areas__grip svg {
  display: block;
  width: .62rem;
  height: 1rem;
  fill: currentColor;
}
.wm-areas__chip:hover .wm-areas__grip { opacity: .9; }
.wm-areas__chip span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wm-areas__x {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.2rem;
  height: 1.2rem;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  font-size: 1.05rem;
  line-height: 1;
  cursor: pointer;
  opacity: .55;
}
.wm-areas__x:hover { opacity: 1; }
.wm-areas__input {
  display: block;
  flex: 1 1 8rem;
  width: auto !important;
  min-width: 7rem;
  min-height: 2.1rem !important;
  margin: 0;
  padding: .25rem .15rem !important;
  border: 0 !important;
  outline: none !important;
  background: transparent;
  font: inherit;
  font-size: 1.05rem;
  box-shadow: none;
}
.wm-areas__panel {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + .25rem);
  z-index: 20;
  border: 1.5px solid var(--wm-ink);
  background: var(--wm-paper);
  max-height: min(16rem, 50dvh);
  overflow: auto;
  box-shadow: 0 10px 28px rgba(9, 9, 9, .12);
}
.wm-areas__list { list-style: none; margin: 0; padding: 0; }
.wm-areas__item {
  display: block;
  width: 100%;
  padding: .65rem 1rem;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  font-size: 1.05rem;
  text-align: left;
  cursor: pointer;
}
.wm-areas__item:hover,
.wm-areas__item.is-active { background: var(--wm-yellow); }
.wm-areas__item--add { font-weight: 600; }
.wm-areas__status {
  margin: 0;
  padding: .75rem 1rem;
  font-size: .95rem;
  opacity: .7;
}
.wm-field.is-invalid .wm-areas__box { border-color: var(--wm-err); }

.wm-services,
.wm-faq { display: flex; flex-direction: column; gap: .55rem; }
.wm-faq__row {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  margin-bottom: .5rem;
}
.wm-faq__x {
  align-self: flex-start;
  background: none;
  border: 0;
  color: var(--wm-err);
  cursor: pointer;
  font-size: 1.2rem;
}

.wm-status {
  border: 1.5px solid var(--wm-ink);
  padding: 1.5rem;
}
.wm-status__bar {
  height: 8px;
  background: var(--wm-muted);
  overflow: hidden;
}
.wm-status__fill {
  display: block;
  height: 100%;
  width: 5%;
  background: var(--wm-ink);
  transition: width .6s ease;
}
.wm-status__state { font-weight: 600; margin: 1rem 0 .5rem; }
.wm-status__log { list-style: none; padding: 0; margin: 0 0 1rem; font-size: .85rem; opacity: .7; font-family: ui-monospace, Menlo, monospace; display: none; }
.wm-status__log li { padding: .15rem 0; }
.wm-status--debug .wm-status__log { display: block; }
.wm-status__actions { margin-top: 1rem; }
.wm-status__hint { font-size: 1rem; opacity: .75; margin-top: .75rem; }
.wm-steps { list-style: none; padding: 0; margin: 0 0 1rem; }
.wm-steps li { padding: .3rem 0 .3rem 1.7rem; position: relative; opacity: .45; }
.wm-steps li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .55rem;
  width: .9rem;
  height: .9rem;
  border-radius: 50%;
  border: 2px solid #cfd4da;
}
.wm-steps li.is-active { opacity: 1; }
.wm-steps li.is-active::before { border-color: var(--wm-ink); border-top-color: transparent; animation: wm-spin .8s linear infinite; }
.wm-steps li.is-done { opacity: 1; }
.wm-steps li.is-done::before { background: var(--wm-ink); border-color: var(--wm-ink); }
@keyframes wm-spin { to { transform: rotate(360deg); } }


/* Design (template pack) cards: thumbnail on top, two columns when there is room. */
.wm-cards--packs {
  display: grid;
  grid-template-columns: 1fr;
  gap: .75rem;
}
@media (min-width: 560px) {
  .wm-cards--packs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.wm-card--pack {
  flex-direction: column;
  gap: .6rem;
  padding: .6rem .6rem .9rem;
}
.wm-card--pack .wm-card__thumb {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 1px solid var(--wm-line);
  background: var(--wm-muted);
}
.wm-card--pack .wm-card__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wm-card--pack .wm-card__tick {
  position: absolute;
  top: .95rem;
  right: .95rem;
  margin: 0;
  box-shadow: 0 0 0 3px var(--wm-paper);
}
.wm-card--pack .wm-card__body { padding: 0 .4rem; }
.wm-card--pack .wm-card__title { font-size: 1rem; }
.wm-card--pack .wm-card__help { font-size: .88rem; }
.wm-combo { position: relative; }
.wm-intake .wm-combo input[type=search] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='%23090909' d='M3 6l5 5 5-5'/></svg>");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.6rem;
}
.wm-combo__list {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 30;
  margin: .25rem 0 0;
  padding: 0;
  list-style: none;
  max-height: 16rem;
  overflow: auto;
  border: 1.5px solid var(--wm-ink);
  background: var(--wm-paper);
  box-shadow: 0 10px 28px rgba(9, 9, 9, .12);
}
.wm-combo__opt {
  padding: .7rem 1rem;
  cursor: pointer;
}
.wm-combo__opt.is-active,
.wm-combo__opt:hover { background: var(--wm-muted); }
.wm-combo__empty {
  padding: .7rem 1rem;
  opacity: .7;
}
.wm-places { position: relative; }
.wm-field:has([data-address-search]) .wm-places__panel {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 20;
  margin-top: .25rem;
  box-shadow: 0 10px 28px rgba(9, 9, 9, .12);
}
.wm-places__panel {
  margin-top: .5rem;
  border: 1.5px solid var(--wm-ink);
  background: var(--wm-paper);
  max-height: min(24rem, 70dvh);
  overflow: auto;
}
.wm-places__status {
  margin: 0;
  padding: .9rem 1rem;
  font-size: 1rem;
  opacity: .75;
}
.wm-places__status.is-error { color: var(--wm-err); opacity: 1; }
.wm-places__list { list-style: none; margin: 0; padding: 0; }
.wm-places__list li + li { border-top: 1px solid var(--wm-line); }
.wm-places__item {
  display: flex;
  align-items: center;
  gap: .85rem;
  width: 100%;
  margin: 0;
  padding: .75rem 1rem;
  border: 0;
  background: none;
  text-align: left;
  font: inherit;
  cursor: pointer;
}
.wm-places__item:hover { background: var(--wm-muted); }
.wm-places__item img,
.wm-places__letter {
  width: 3rem;
  height: 3rem;
  flex-shrink: 0;
  object-fit: cover;
  background: var(--wm-muted);
}
.wm-places__letter {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}
.wm-places__meta { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: .15rem; }
.wm-places__meta strong { font-weight: 700; }
.wm-places__meta span { font-size: .95rem; opacity: .7; }
.wm-places__rating { font-weight: 700; font-size: .95rem; flex-shrink: 0; }
.wm-places__picked {
  padding: 1rem 1.1rem;
  border: 1.5px solid var(--wm-ink);
  background: var(--wm-paper);
}
.wm-places__picked-title { margin: 0 0 .4rem; font-size: 1rem; opacity: .75; }
.wm-places__picked-name { margin: 0; font-weight: 700; font-size: 1.15rem; }
.wm-places__picked-addr,
.wm-places__picked-meta { margin: .25rem 0 0; font-size: 1rem; opacity: .75; }
.wm-places__types { margin: .7rem 0 0; }
.wm-places__types-label {
  margin: 0 0 .35rem;
  font-size: .85rem;
  opacity: .65;
}
.wm-places__types-list {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.wm-places__types-list li {
  display: inline-flex;
  align-items: center;
  padding: .2rem .55rem;
  border: 1px solid var(--wm-line);
  background: var(--wm-muted);
  font-size: .85rem;
  line-height: 1.3;
}
.wm-places__photos { display: flex; flex-direction: column; gap: .5rem; }
.wm-places__credit { margin: 0; font-size: .9rem; }
.wm-places__credit a { color: inherit; }
.wm-places__thumbs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .4rem;
}
.wm-places__thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  min-width: 0;
}
.wm-places__thumb a {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: 1.5px solid var(--wm-ink);
  background: var(--wm-muted);
  cursor: zoom-in;
}
.wm-places__thumbs.is-sortable .wm-places__thumb { -webkit-touch-callout: none; }
.wm-places__thumbs.is-sortable .wm-places__thumb a { cursor: grab; }
.wm-places__thumb:not(.is-on) a { opacity: .4; }
.wm-places__thumbs img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wm-places__pick {
  position: absolute;
  top: .25rem;
  left: .25rem;
  z-index: 2;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  cursor: pointer;
}
.wm-places__pick input {
  position: absolute;
  inset: 0;
  z-index: 1;
  margin: 0;
  opacity: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
}
.wm-places__tick {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  border: 1.5px solid var(--wm-ink);
  border-radius: 3px;
  background: var(--wm-paper);
  box-shadow: 0 1px 4px rgba(9, 9, 9, .22);
  box-sizing: border-box;
}
.wm-places__thumb.is-on .wm-places__tick {
  background-color: var(--wm-ink);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='square' d='M3.2 8.2l3 3 6.6-6.8'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: .85rem;
}
.wm-places__pick:has(input:focus-visible) .wm-places__tick {
  outline: 3px solid var(--wm-yellow);
  outline-offset: 2px;
}
.wm-places__remove {
  position: absolute;
  top: .25rem;
  right: .25rem;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  padding: 0;
  border: 1.5px solid var(--wm-ink);
  border-radius: 3px;
  background: var(--wm-paper);
  box-shadow: 0 1px 4px rgba(9, 9, 9, .22);
  color: var(--wm-ink);
  font: inherit;
  line-height: 1;
  cursor: pointer;
}
.wm-places__remove span {
  display: block;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1;
  transform: translateY(-.05rem);
}
.wm-places__remove svg { display: block; }
.wm-places__more { margin: 0; }
.wm-places__remove:hover {
  background: var(--wm-ink);
  color: var(--wm-paper);
}
.wm-places__grip {
  position: absolute;
  left: 50%;
  bottom: .28rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.7rem;
  height: 1.15rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 1px 4px rgba(9, 9, 9, .28);
  color: var(--wm-ink);
  cursor: grab;
  touch-action: none;
  transform: translateX(-50%);
  opacity: 0;
}
.wm-places__grip svg { display: block; width: .62rem; height: .9rem; fill: currentColor; }
.wm-places__thumb:hover .wm-places__grip,
.wm-places__thumb:focus-within .wm-places__grip,
.wm-places__grip:focus-visible { opacity: 1; }
.wm-places__grip:focus-visible {
  outline: 3px solid var(--wm-yellow);
  outline-offset: 2px;
}
@media (hover: none), (pointer: coarse) {
  .wm-places__grip { opacity: .95; }
}
.wm-places__remove:focus-visible {
  outline: 3px solid var(--wm-yellow);
  outline-offset: 2px;
}

.wm-link {
  align-self: flex-start;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: .2em;
  color: var(--wm-ink);
}
.wm-link:hover { color: var(--wm-ink); text-decoration-thickness: 2px; }

/* ---------------------------------------------------------------- fieldsets
   The form is one long column, so it is split into three groups: what the
   business is, how to reach it, what it offers. Each group is a soft panel
   so the eye can rest between chapters. Browsers give fieldset a border,
   padding and margin of their own, all of which fight the flex column, so
   they are reset before the panel treatment. */
.wm-intake__group {
  counter-increment: wm-group;
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
  margin: 0;
  padding: 1.5rem 1.25rem 1.75rem;
  border: 0;
  min-width: 0;
  background: var(--wm-muted);
}
@media (max-width: 560px) {
  .wm-intake__group { padding-left: .9rem; padding-right: .9rem; }
}

/* legend is not a flex item in every browser, so it is taken out of the flow
   and given its own spacing instead of relying on the gap. */
.wm-intake__legend {
  display: block;
  float: left;
  width: 100%;
  margin: 0 0 .2rem;
  padding: 0;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--wm-ink);
}

.wm-intake__step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.7rem;
  height: 1.7rem;
  margin-right: .65rem;
  background: var(--wm-yellow);
  color: var(--wm-ink);
  font-size: .95rem;
  font-weight: 700;
  line-height: 1;
  vertical-align: .05em;
}

.wm-intake__step::before { content: counter(wm-group); }

.wm-intake__legend + * { clear: both; }

.wm-intake__group-hint {
  margin: -.55rem 0 .15rem;
  font-size: .95rem;
  opacity: .7;
}

.wm-intake__fallback {
  clear: both;
  margin: -.55rem 0 0;
  font-size: .95rem;
  line-height: 1.45;
}
.wm-intake__fallback:not([hidden]) + .wm-intake__group-hint {
  margin-top: .45rem;
}

.wm-field__note {
  font-size: .88rem;
  opacity: .75;
}
.wm-leads {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  margin-top: .35rem;
}

.wm-field__label {
  display: flex;
  align-items: center;
  gap: .45rem;
}
.wm-tip {
  position: relative;
  display: inline-flex;
}
.wm-tip__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.2rem;
  height: 1.2rem;
  padding: 0;
  border: 1.5px solid var(--wm-ink);
  border-radius: 50%;
  background: var(--wm-paper);
  color: var(--wm-ink);
  font: inherit;
  font-size: .75rem;
  font-weight: 700;
  line-height: 1;
  cursor: help;
}
.wm-tip__pop {
  display: none;
  position: absolute;
  left: 50%;
  top: calc(100% + .45rem);
  z-index: 5;
  width: min(18rem, 70vw);
  padding: .7rem .8rem;
  border: 1.5px solid var(--wm-ink);
  background: var(--wm-paper);
  color: var(--wm-ink);
  font-size: .88rem;
  font-weight: 400;
  line-height: 1.4;
  transform: translateX(-50%);
  box-shadow: 4px 4px 0 rgba(9, 9, 9, .08);
}
.wm-tip:hover .wm-tip__pop,
.wm-tip:focus-within .wm-tip__pop { display: block; }

.wm-pack {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  min-width: 0;
}
.wm-pack__demo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .3rem;
  min-height: 2.5rem;
  padding: .4rem .75rem;
  border: 1.5px solid var(--wm-ink);
  background: var(--wm-paper);
  color: var(--wm-ink);
  font-weight: 600;
  font-size: .95rem;
  text-decoration: none;
}
.wm-pack__demo:hover {
  background: var(--wm-yellow);
}

.wm-editable { position: relative; isolation: isolate; -webkit-touch-callout: none; }
.wm-card--item {
  align-items: flex-start;
  cursor: grab;
  padding-right: 5.1rem;
}
.wm-card--item > .wm-card__grip {
  position: relative;
  z-index: 2;
  margin-top: .15rem;
  align-self: flex-start;
}
.wm-item-actions {
  position: absolute;
  top: .55rem;
  right: .45rem;
  z-index: 6;
  display: flex;
  gap: .2rem;
}
.wm-edit-btn,
.wm-del-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 1.5px solid transparent;
  background: var(--wm-paper);
  color: var(--wm-ink);
  cursor: pointer;
}
.wm-edit-btn:hover {
  border-color: var(--wm-ink);
  background: var(--wm-yellow);
}
.wm-del-btn:hover {
  border-color: var(--wm-err);
  color: var(--wm-err);
  background: var(--wm-paper);
}
.wm-add-link {
  align-self: flex-start;
  margin: .2rem 0 0;
  padding: 0 0 .1rem;
  border: 0;
  border-bottom: 1px dotted currentColor;
  border-radius: 0;
  background: none;
  color: var(--wm-ink);
  font: inherit;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.4;
  min-height: 0;
  width: auto;
  cursor: pointer;
  text-decoration: none;
}
.wm-add-link:hover,
.wm-add-link:focus-visible {
  border-bottom-style: solid;
  outline: none;
}

.wm-modal--item {
  align-items: center;
  padding: 1.25rem;
}
.wm-modal--item .wm-modal__box {
  width: min(28rem, 100%);
  margin-top: 0;
  box-shadow: 8px 8px 0 rgba(9, 9, 9, .16);
}
.wm-modal__form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.wm-modal__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.1rem;
  margin-top: .25rem;
}
.wm-modal__picks {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  max-height: min(22rem, 50dvh);
  overflow: auto;
}
.wm-modal__pick {
  display: block;
  width: 100%;
  margin: 0;
  padding: .85rem 1rem;
  border: 1.5px solid var(--wm-ink);
  background: var(--wm-paper);
  color: inherit;
  font: inherit;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}
.wm-modal__pick:hover,
.wm-modal__pick:focus-visible {
  background: var(--wm-yellow);
  outline: none;
}

.wm-consent .wm-card__title {
  display: inline;
  font-weight: 600;
}
.wm-consent__terms {
  position: relative;
  z-index: 2;
  display: inline;
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.wm-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 2rem 1rem 3rem;
  background: rgba(9, 9, 9, .5);
  overflow: auto;
}
.wm-modal__box {
  position: relative;
  width: min(40rem, 100%);
  margin-top: 2rem;
  padding: 1.6rem 1.35rem 1.8rem;
  border: 1.5px solid var(--wm-ink);
  background: var(--wm-paper);
}
.wm-modal__close {
  position: absolute;
  top: .7rem;
  right: .8rem;
  width: 2.1rem;
  height: 2.1rem;
  padding: 0;
  border: 0;
  background: none;
  color: var(--wm-ink);
  font-size: 1.7rem;
  line-height: 1;
  cursor: pointer;
}
.wm-modal__box h2 {
  margin: 0 1.5rem .9rem 0;
  font-size: 1.4rem;
}
.wm-modal__body h3 {
  margin: 1.1rem 0 .4rem;
  font-size: 1.05rem;
}
.wm-modal__body p,
.wm-modal__body li {
  margin: 0 0 .65rem;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
}
.wm-modal__body ul { margin: 0 0 .65rem 1.15rem; padding: 0; }

.wm-modal--fetch {
  align-items: center;
  padding: 1.25rem;
  background: rgba(9, 9, 9, .62);
}
.wm-modal--fetch .wm-modal__box {
  width: min(28rem, 100%);
  margin-top: 0;
  padding: 2.25rem 1.75rem 1.9rem;
  text-align: center;
  box-shadow: 8px 8px 0 rgba(9, 9, 9, .16);
  animation: wm-fetch-pop .35s ease-out;
}
.wm-fetch__mark {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.4rem;
  height: 4.4rem;
  margin: 0 auto 1.15rem;
}
.wm-fetch__ring {
  position: absolute;
  inset: 0;
  border: 3px solid var(--wm-line);
  border-top-color: var(--wm-ink);
  border-radius: 50%;
  animation: wm-spin .8s linear infinite;
}
.wm-fetch__pulse {
  width: 1.7rem;
  height: 1.7rem;
  background: var(--wm-yellow);
  border: 1.5px solid var(--wm-ink);
  animation: wm-fetch-pulse 1.2s ease-in-out infinite;
}
.wm-fetch__check {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.4rem;
  height: 4.4rem;
  margin: 0 auto 1.15rem;
  background: var(--wm-yellow);
  border: 1.5px solid var(--wm-ink);
  animation: wm-fetch-pop .4s ease-out;
}
.wm-fetch__check svg { display: block; }
.wm-modal--fetch h2 {
  margin: 0 0 .55rem;
  font-size: 1.35rem;
}
.wm-modal--fetch p {
  margin: 0 0 1.2rem;
  font-size: 1.05rem;
  line-height: 1.5;
  font-weight: 400;
  opacity: .8;
}
.wm-fetch__bar {
  height: 8px;
  background: var(--wm-muted);
  overflow: hidden;
  border: 1.5px solid var(--wm-ink);
}
.wm-fetch__fill {
  display: block;
  height: 100%;
  width: 0;
  background: var(--wm-ink);
  animation: wm-fetch-fill 5s ease-out forwards;
}
.wm-fetch__dots::after {
  content: '';
  display: inline-block;
  width: 1.15em;
  text-align: left;
  animation: wm-fetch-dots 1.2s steps(4, end) infinite;
}
.wm-fetch__ok {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.1rem;
  padding: .65rem 1.3rem;
  border: 1.5px solid var(--wm-ink);
  background: var(--wm-ink);
  color: var(--wm-paper);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.wm-fetch__ok:hover { background: var(--wm-yellow); color: var(--wm-ink); }
@keyframes wm-fetch-fill { to { width: 100%; } }
@keyframes wm-fetch-pop {
  from { opacity: 0; transform: translateY(.6rem) scale(.96); }
  to { opacity: 1; transform: none; }
}
@keyframes wm-fetch-pulse {
  0%, 100% { transform: scale(.86); }
  50% { transform: scale(1); }
}
@keyframes wm-fetch-dots {
  0% { content: ''; }
  25% { content: '.'; }
  50% { content: '..'; }
  75% { content: '...'; }
}

.wm-intake .iti {
  --iti-border-color: var(--wm-ink);
  --iti-hover-color: rgba(9, 9, 9, .06);
  --iti-country-selector-bg: var(--wm-paper);
  --iti-icon-color: var(--wm-ink);
  display: block;
  width: 100%;
}
.wm-intake .iti input.iti__tel-input,
.wm-intake .iti input.iti__tel-input[type=tel] {
  width: 100%;
}
.wm-intake .iti__country-selector {
  border-radius: 0;
}
.wm-intake input.iti__search-input[type=search] {
  padding-left: calc(var(--iti-spacer-horizontal, 10px) + var(--iti-globe-icon-size, 17px) + .85rem);
}
.wm-field.is-invalid .iti input.iti__tel-input {
  border-color: var(--wm-err);
}

/* ---------------------------------------------------------------- steps
   One group on screen at a time. The bar says how far along they are and
   roughly how long is left, which matters more to this audience than the
   step names do. */
.wm-steps { display: flex; flex-direction: column; gap: .5rem; }
.wm-steps__text { margin: 0; font-size: .98rem; }
.wm-steps__text span { opacity: .7; }
.wm-steps__bar { height: .5rem; background: var(--wm-muted); overflow: hidden; }
.wm-steps__bar span { display: block; height: 100%; background: var(--wm-yellow); transition: width .25s ease; }
@media (prefers-reduced-motion: reduce) { .wm-steps__bar span { transition: none; } }

.wm-intake__step::before { content: none; }
.wm-intake__legend:focus { outline: none; }
.wm-intake__stack { display: flex; flex-direction: column; gap: 1.35rem; min-width: 0; }

.wm-intake__layout {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.wm-intake__main {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
  min-width: 0;
}

.wm-nav {
  position: sticky;
  top: 4.5rem;
  z-index: 6;
  margin: 0 -1.25rem;
  padding: .4rem 1.25rem .5rem;
  background: var(--wm-paper);
}
.wm-nav__list {
  display: flex;
  gap: .3rem;
  list-style: none;
  margin: 0;
  padding: 0 0 .15rem;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.wm-nav__list::-webkit-scrollbar { display: none; }
.wm-nav__item { flex: 0 0 auto; }
.wm-nav__btn {
  display: flex;
  align-items: center;
  gap: .45rem;
  max-width: 14rem;
  margin: 0;
  padding: .35rem .55rem .35rem .35rem;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  font-size: .92rem;
  line-height: 1.25;
  text-align: left;
  cursor: pointer;
  opacity: .55;
}
.wm-nav__btn:hover,
.wm-nav__btn:focus-visible { opacity: 1; }
.wm-nav__btn:focus-visible {
  outline: 3px solid var(--wm-yellow);
  outline-offset: 2px;
}
.wm-nav__n {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.45rem;
  height: 1.45rem;
  flex-shrink: 0;
  border: 1.5px solid currentColor;
  font-size: .78rem;
  font-weight: 700;
}
.wm-nav__label {
  display: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wm-nav__btn.is-current {
  opacity: 1;
  background: var(--wm-yellow);
}
.wm-nav__btn.is-current .wm-nav__label { display: inline; }
.wm-nav__btn.is-done { opacity: .85; }
.wm-nav__btn.is-done .wm-nav__n {
  background: var(--wm-ink);
  border-color: var(--wm-ink);
  color: var(--wm-paper);
}
.wm-nav__btn.is-locked { cursor: default; }

.wm-chat-pair {
  display: grid;
  gap: 1.35rem;
  min-width: 0;
}

@media (min-width: 640px) {
  .wm-chat-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 960px) {
  .wm-intake__layout {
    display: grid;
    grid-template-columns: 15.5rem minmax(0, 40rem);
    gap: 2.75rem;
    align-items: start;
  }
  .wm-nav {
    position: sticky;
    top: 6.5rem;
    margin: 0;
    padding: .15rem 0 0;
  }
  .wm-nav__list {
    display: flex;
    flex-direction: column;
    gap: .1rem;
    overflow: visible;
    padding: 0;
  }
  .wm-nav__btn {
    width: 100%;
    max-width: none;
    padding: .4rem .45rem .4rem .3rem;
    opacity: .5;
  }
  .wm-nav__label { display: inline; white-space: normal; }
  .wm-nav__btn.is-current {
    background: transparent;
    box-shadow: inset 3px 0 0 var(--wm-yellow);
  }
  .wm-nav__btn.is-current .wm-nav__n {
    background: var(--wm-yellow);
    border-color: var(--wm-ink);
    color: var(--wm-ink);
  }
}

.wm-actions__back { margin-right: auto; }

/* Optional extras: closed until asked for. */
.wm-acc { background: var(--wm-paper); border: 1px solid var(--wm-line); }
.wm-acc > summary { display: flex; flex-direction: column; gap: .15rem; padding: 1rem 3rem 1rem 1.1rem; cursor: pointer; list-style: none; position: relative; }
.wm-acc > summary::-webkit-details-marker { display: none; }
.wm-acc > summary::after { content: "+"; position: absolute; right: 1.1rem; top: 50%; transform: translateY(-50%); font-size: 1.5rem; font-weight: 400; line-height: 1; }
.wm-acc[open] > summary::after { content: "−"; }
.wm-acc > summary:focus-visible { outline: 3px solid var(--wm-yellow); outline-offset: 2px; }
.wm-acc__title { font-weight: 700; font-size: 1.05rem; }
.wm-acc__hint { font-size: .92rem; opacity: .7; }
.wm-acc__body { display: flex; flex-direction: column; gap: 1.35rem; padding: .25rem 1.1rem 1.25rem; min-width: 0; }

.wm-confirm { display: flex; flex-direction: column; gap: .55rem; margin: 0; padding: .9rem 1.1rem; background: var(--wm-paper); border-left: .3rem solid var(--wm-yellow); font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere; }
.wm-confirm p { margin: 0; }
.wm-confirm .wm-link { background: none; border: 0; padding: 0; cursor: pointer; font-size: inherit; }

.wm-notice { margin: 0; padding: .8rem 1rem; border-left: .3rem solid var(--wm-err); background: var(--wm-paper); font-size: .98rem; line-height: 1.45; }

button.wm-link { background: none; border: 0; padding: 0; cursor: pointer; font: inherit; font-weight: 600; }
button.wm-link[disabled] { opacity: .55; cursor: default; }
