/* Top Lawyer Match — consumer flow (Homepage 1A)
   Home → interpretation → results, both viewports.

   Loaded after discovery.css so it can override the previous results styling.
   Design invariants from the handoff: no border radii anywhere, no shadows in
   product UI, gold reserved for Selected recognition only. */

/* ---------------------------------------------------------------- shell --- */

.flow-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--brand-ivory, #F8F6F1);
}
.flow-shell > main { flex: 1 0 auto; }

/* --------------------------------------------------------------- chrome --- */

.flow-masthead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  height: 64px;
  padding: 0 48px;
  background: var(--brand-ink, #111827);
}
.flow-masthead__brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}
.flow-masthead__brand:hover { text-decoration: none; }
.flow-masthead__nav { display: flex; align-items: center; gap: 26px; }
.flow-masthead__nav a {
  color: var(--brand-body-on-ink, #C7CBD4);
  font-size: 13.5px;
  font-weight: 500;
  text-decoration: none;
}
.flow-masthead__nav a:hover { color: #fff; text-decoration: underline; }
.flow-masthead__burger { display: none; }

.flow-footbar {
  padding: 26px 48px;
  background: var(--brand-ink, #111827);
}
.flow-footbar__lead {
  margin: 0 0 4px;
  color: #fff;
  font-size: 14.5px;
  font-weight: 700;
}
.flow-footbar__body {
  margin: 0;
  color: var(--brand-body-on-ink, #C7CBD4);
  font-size: 13.5px;
  line-height: 1.5;
  max-width: 78ch;
}

/* -------------------------------------------------------------- buttons --- */

.btn-solid {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  padding: 0 24px;
  border: 0;
  border-radius: 0;
  background: var(--brand-indigo, #3F46A5);
  color: #fff;
  font-family: var(--brand-font-ui);
  font-size: 15.5px;
  font-weight: 700;
  cursor: pointer;
}
.btn-solid:hover { background: var(--brand-indigo-dark, #2c3279); }

.btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  padding: 0 22px;
  border: 1.5px solid var(--brand-ink, #111827);
  border-radius: 0;
  background: #fff;
  color: var(--brand-ink, #111827);
  font-family: var(--brand-font-ui);
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}
.btn-outline:hover { background: var(--brand-ivory, #F8F6F1); }

/* ----------------------------------------------------------------- hero --- */

.home1a-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 56px;
  padding: 60px 48px 52px;
  align-items: start;
}
.home1a-hero__title {
  margin: 0 0 18px;
  font-family: var(--brand-font-display);
  font-size: 56px;
  line-height: 1.03;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--brand-ink, #111827);
}
.home1a-hero__lead {
  margin: 0 0 26px;
  max-width: 56ch;
  color: var(--brand-body, #4A5265);
  font-size: 17.5px;
  line-height: 1.55;
}
.home1a-hero__trust {
  margin: 18px 0 0;
  color: var(--brand-body, #4A5265);
  font-size: 13.5px;
}

.home1a-hero__figure { position: relative; }
.home1a-hero__figure img {
  width: 100%;
  height: 560px;
  object-fit: cover;
  object-position: 62% 28%;
}
.home1a-hero__figure-empty {
  width: 100%;
  height: 560px;
  background:
    linear-gradient(160deg, #EDE9E1 0%, #DEDAD1 55%, #CFCBC2 100%);
}
.home1a-hero__credit {
  margin: 8px 0 0;
  color: var(--brand-label, #6B6455);
  font-size: 11.5px;
}

/* ----------------------------------------------------------- issue form --- */

.issue-form {
  background: #fff;
  border: 1.5px solid var(--brand-ink, #111827);
  padding: 22px 24px 20px;
}
.issue-form__label {
  display: block;
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--brand-ink, #111827);
}
.issue-form__text,
.issue-form__where {
  width: 100%;
  border: 0;
  border-bottom: 2px solid #c9c3b6;
  border-radius: 0;
  background: transparent;
  color: var(--brand-ink, #111827);
  padding: 0 0 8px;
}
.issue-form__text {
  font-family: var(--brand-font-display);
  font-size: 22px;
  line-height: 1.3;
  resize: none;
  overflow-y: hidden;
  display: block;
}
.issue-form__where { font-size: 17px; }
.issue-form__text:focus,
.issue-form__where:focus { border-bottom-color: var(--brand-ink, #111827); }
.issue-form__text::placeholder,
.issue-form__where::placeholder { color: #9a9384; }

.issue-form__row {
  display: flex;
  align-items: flex-end;
  gap: 20px;
  margin-top: 22px;
}
.issue-form__block--where { flex: 1 1 auto; min-width: 0; }
.issue-form__submit { flex: none; }

.issue-form__combo { position: relative; }
.issue-form__suggestions {
  position: absolute;
  z-index: 20;
  left: 0;
  right: 0;
  top: calc(100% + 4px);
  margin: 0;
  padding: 0;
  list-style: none;
  background: #fff;
  border: 1px solid #ddd8cd;
  max-height: 264px;
  overflow-y: auto;
}
.issue-form__suggestion {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 44px;
  padding: 10px 14px;
  border: 0;
  background: transparent;
  text-align: left;
  font-size: 15px;
  color: var(--brand-ink, #111827);
  cursor: pointer;
}
.issue-form__suggestion:hover { background: var(--brand-ivory, #F8F6F1); }
.issue-form__suggestion-kind {
  color: var(--brand-label, #6B6455);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.issue-form__alert {
  margin: 0 0 16px;
  padding: 10px 14px;
  border-left: 3px solid var(--brand-error, #b3261e);
  background: var(--brand-error-wash, #fdf3f2);
  color: #7a1c16;
  font-size: 14px;
}

/* --------------------------------------------------------------- chips ---- */

.prompt-chips { margin-top: 20px; }
.prompt-chips__lead {
  margin: 0 0 10px;
  color: var(--brand-body, #4A5265);
  font-size: 13.5px;
}
.prompt-chips__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.prompt-chips__chip {
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid #b5ad9d;
  border-radius: 0;
  background: #fff;
  color: var(--brand-ink, #111827);
  font-family: var(--brand-font-ui);
  font-size: 14px;
  text-align: left;
  cursor: pointer;
}
.prompt-chips__chip:hover { border-color: var(--brand-ink, #111827); }

/* ---------------------------------------------------------- then strip ---- */

.then-strip {
  background: #fff;
  border-top: 1px solid var(--brand-rule-strong, #DDD8CD);
  padding: 40px 48px;
}
.then-strip__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}
.then-strip__num {
  display: block;
  margin-bottom: 8px;
  font-family: var(--brand-font-display);
  font-size: 20px;
  font-weight: 600;
  color: var(--brand-indigo, #3F46A5);
}
.then-strip__title {
  margin: 0 0 8px;
  font-family: var(--brand-font-display);
  font-size: 23px;
  line-height: 1.2;
  font-weight: 600;
  color: var(--brand-ink, #111827);
}
.then-strip__body {
  margin: 0;
  color: var(--brand-body, #4A5265);
  font-size: 14.5px;
  line-height: 1.55;
}

/* -------------------------------------------------------------- browse ---- */

.home1a-browse { padding: 40px 48px 52px; }
.home1a-browse__heading {
  margin: 0 0 18px;
  font-family: var(--brand-font-display);
  font-size: 26px;
  font-weight: 600;
  color: var(--brand-ink, #111827);
}
.home1a-browse__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: var(--brand-rule, #E6E2D8);
  border: 1px solid var(--brand-rule, #E6E2D8);
}
.home1a-browse__item {
  display: block;
  height: 100%;
  padding: 16px 18px;
  background: #fff;
  text-decoration: none;
}
.home1a-browse__item:hover { background: #fff; text-decoration: none; }
.home1a-browse__item:hover .home1a-browse__name { text-decoration: underline; }
.home1a-browse__name {
  display: block;
  color: var(--brand-ink, #111827);
  font-size: 15.5px;
  font-weight: 700;
}
.home1a-browse__plain {
  display: block;
  margin-top: 3px;
  color: var(--brand-body, #4A5265);
  font-size: 13.5px;
  line-height: 1.45;
}

/* ------------------------------------------------------- interpretation --- */

.interpret { padding: 60px 48px 64px; }
.interpret__panel, .interpret__reading { max-width: 720px; }

.interpret__reading-title {
  margin: 0 0 18px;
  font-family: var(--brand-font-display);
  font-size: 46px;
  line-height: 1.05;
  font-weight: 600;
  color: var(--brand-ink, #111827);
}
.interpret__reading-bar { height: 3px; background: var(--brand-rule-strong, #DDD8CD); }
.interpret__reading-bar span {
  display: block;
  height: 100%;
  background: var(--brand-indigo, #3F46A5);
  animation: flow-bar 0.5s linear forwards;
}
@keyframes flow-bar { from { width: 0 } to { width: 100% } }

.interpret__echo {
  margin: 0 0 24px;
  color: var(--brand-body, #4A5265);
  font-size: 15px;
  line-height: 1.5;
}
.interpret__eyebrow {
  margin: 0 0 8px;
  color: var(--brand-indigo, #3F46A5);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.interpret__category {
  margin: 0 0 12px;
  font-family: var(--brand-font-display);
  font-size: 46px;
  line-height: 1.05;
  font-weight: 600;
  color: var(--brand-ink, #111827);
}
.interpret__plain {
  margin: 0 0 8px;
  color: var(--brand-body, #4A5265);
  font-size: 16.5px;
  line-height: 1.55;
}
.interpret__note {
  margin: 0 0 8px;
  padding: 10px 14px;
  border-left: 3px solid var(--brand-paid-rule, #A9A293);
  background: #fff;
  color: var(--brand-body, #4A5265);
  font-size: 14px;
}
.interpret__actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  margin-top: 28px;
  max-width: 420px;
}
.interpret__go { height: 56px; }
.interpret__restart {
  align-self: flex-start;
  color: var(--brand-indigo, #3F46A5);
  font-size: 14px;
  padding: 6px 0;
}

.interpret__alts { margin-top: 30px; max-width: 520px; }
.interpret__alts-lead {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--brand-label, #6B6455);
}
.interpret__alts-list { margin: 0 0 14px; padding: 0; list-style: none; display: grid; gap: 10px; }
.interpret__alt {
  display: block;
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--brand-rule-strong, #DDD8CD);
  border-radius: 0;
  background: #fff;
  text-align: left;
  cursor: pointer;
}
.interpret__alt:hover { border-color: var(--brand-ink, #111827); }
.interpret__alt-title {
  display: block;
  color: var(--brand-ink, #111827);
  font-size: 16.5px;
  font-weight: 700;
}
.interpret__alt-note {
  display: block;
  margin-top: 3px;
  color: var(--brand-body, #4A5265);
  font-size: 13.5px;
  line-height: 1.45;
}

/* ------------------------------------------------------------- responsive - */

@media (max-width: 980px) {
  .home1a-hero { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .then-strip__list { grid-template-columns: minmax(0, 1fr); gap: 26px; }
}

@media (max-width: 720px) {
  .flow-masthead { height: 56px; padding: 0 18px; flex-wrap: wrap; }
  .flow-masthead__burger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 0;
    background: transparent;
    cursor: pointer;
  }
  .flow-masthead__burger span,
  .flow-masthead__burger span::before,
  .flow-masthead__burger span::after {
    display: block;
    width: 20px;
    height: 2px;
    background: #fff;
  }
  .flow-masthead__burger span { position: relative; }
  .flow-masthead__burger span::before,
  .flow-masthead__burger span::after { content: ''; position: absolute; left: 0; }
  .flow-masthead__burger span::before { top: -6px; }
  .flow-masthead__burger span::after { top: 6px; }

  .flow-masthead__nav {
    display: none;
    flex-basis: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding-bottom: 10px;
  }
  .flow-masthead__nav[data-open] { display: flex; }
  .flow-masthead__nav a { padding: 12px 0; font-size: 15px; }

  .flow-footbar { padding: 22px 18px; }

  .home1a-hero { padding: 22px 18px 28px; }
  .home1a-hero__title { font-size: 32px; line-height: 1.08; }
  .home1a-hero__lead { font-size: 15px; }
  .home1a-hero__figure { margin: 0 -18px; }
  .home1a-hero__figure img,
  .home1a-hero__figure-empty { height: 300px; }

  .issue-form { padding: 16px; }
  .issue-form__text { font-size: 19px; }
  .issue-form__row { flex-direction: column; align-items: stretch; gap: 16px; }
  .issue-form__submit { width: 100%; height: 54px; }

  .then-strip { padding: 28px 18px; }
  .home1a-browse { padding: 28px 18px 36px; }

  .interpret { padding: 26px 18px 36px; }
  .interpret__reading-title, .interpret__category { font-size: 34px; }
  .interpret__actions { max-width: none; }
}

/* ================================================================ results = */

.results1a { padding: 0 0 56px; }
.results1a__head {
  background: #fff;
  border-bottom: 1px solid var(--brand-rule, #E6E2D8);
  padding: 26px 48px 24px;
}
.results1a__crumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
  color: var(--brand-body, #4A5265);
  font-size: 13px;
}
.results1a__crumbs a { color: var(--brand-body, #4A5265); }
.results1a__title {
  margin: 0 0 14px;
  font-family: var(--brand-font-display);
  font-size: 36px;
  line-height: 1.1;
  font-weight: 600;
  color: var(--brand-ink, #111827);
}
.results1a__sortrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
}
.sort-tag {
  display: inline-block;
  padding: 5px 10px;
  border: 1px solid var(--brand-ink, #111827);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--brand-ink, #111827);
}
.sort-tag--match {
  background: var(--brand-indigo, #3F46A5);
  border-color: var(--brand-indigo, #3F46A5);
  color: #fff;
}
.results1a__counts { color: var(--brand-body, #4A5265); font-size: 14px; }
.results1a__reading { margin: 0; color: var(--brand-body, #4A5265); font-size: 14px; line-height: 1.5; }

.results1a__stream { padding: 0 48px; }
.results1a__group { padding-top: 26px; }
.results1a__group-title {
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--brand-ink, #111827);
}
.results1a__group-rubric { margin: 0 0 6px; color: var(--brand-body, #4A5265); font-size: 13.5px; }
.results1a__empty { padding: 30px 0; color: var(--brand-body, #4A5265); }
.results1a__geo-note { margin: 24px 0 0; color: var(--brand-label, #6B6455); font-size: 13px; max-width: 78ch; }

/* ---- invitation + match panel ---- */

.quiz-invite {
  margin: 26px 0 0;
  padding: 24px 26px;
  background: var(--brand-ink, #111827);
}
.quiz-invite__title {
  margin: 0 0 6px;
  font-family: var(--brand-font-display);
  font-size: 24px;
  font-weight: 600;
  color: #fff;
}
.quiz-invite__title em { font-style: italic; }
.quiz-invite__body { margin: 0 0 16px; color: var(--brand-body-on-ink, #C7CBD4); font-size: 14.5px; }
.quiz-invite__cta { height: 48px; }

.match-panel {
  margin: 0 48px;
  padding: 24px 26px;
  background: var(--brand-indigo, #3F46A5);
}
.match-panel__title {
  margin: 0 0 6px;
  font-family: var(--brand-font-display);
  font-size: 26px;
  font-weight: 600;
  color: #fff;
}
.match-panel__body { margin: 0 0 16px; color: var(--brand-panel-text, #E4E6FB); font-size: 14.5px; line-height: 1.5; }
.match-panel__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.btn-ghost-light {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 0 18px;
  border: 1.5px solid #fff;
  border-radius: 0;
  background: transparent;
  color: #fff;
  font-family: var(--brand-font-ui);
  font-size: 14.5px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
}
.btn-ghost-light:hover { background: #fff; color: var(--brand-indigo, #3F46A5); text-decoration: none; }

/* ---- card ---- */

.lawyer-card {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) 150px;
  gap: 22px;
  padding: 22px 0;
  border-bottom: 1px solid var(--brand-rule, #E6E2D8);
}
.lawyer-card__photo {
  width: 96px;
  height: 116px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #E7E3DA;
}
.lawyer-card__initials {
  font-family: var(--brand-font-display);
  font-size: 26px;
  font-weight: 600;
  color: var(--brand-label, #6B6455);
}
.lawyer-card__identity { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; }
.lawyer-card__name {
  margin: 0;
  font-family: var(--brand-font-display);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
}
.lawyer-card__name a { color: var(--brand-ink, #111827); text-decoration: none; }
.lawyer-card__name a:hover { text-decoration: underline; }
.lawyer-card__selected {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rec-gold-ink-light, #7A5E20);
}
.lawyer-card__selected-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--rec-gold, #C6A15B);
}
.lawyer-card__meta { margin: 6px 0 0; color: var(--brand-body, #4A5265); font-size: 13.5px; line-height: 1.5; }
.lawyer-card__meta strong { color: var(--brand-ink, #111827); font-weight: 700; }
.lawyer-card__focus { margin: 6px 0 0; color: var(--brand-ink, #111827); font-size: 14px; line-height: 1.5; }

/* Verified on a card: neutral container so it cannot be mistaken for
   recognition, but it keeps the check mark. The Claimed/Enhanced tag is dotted,
   warm-filled and never has a check — the two must stay distinguishable when
   copied out of page context. docs/BADGE-SEMANTICS.md is locked. */
.chip-licence {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 10px 0 0;
  padding: 4px 9px;
  border: 1px solid var(--brand-paid-rule, #A9A293);
  background: #fff;
  color: var(--brand-body, #4A5265);
  font-size: 11.5px;
  font-weight: 700;
}
.chip-licence__check { flex: none; color: var(--brand-indigo, #3F46A5); }
.chip-licence__checked { font-weight: 600; color: var(--brand-label, #6B6455); }
/* Self-reported is not a platform claim: no check mark, no confident border. */
.chip-licence--attested {
  border-style: dashed;
  color: var(--brand-label, #6B6455);
  font-weight: 600;
}

.factor-block { margin-top: 14px; }
.factor-block__label {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--brand-label, #6B6455);
}
.factor-block__score { margin: 0 0 8px; }
.match-chip {
  display: inline-block;
  padding: 3px 9px;
  font-size: 12px;
  font-weight: 800;
}
.match-chip--best { background: var(--brand-indigo, #3F46A5); color: #fff; }
.match-chip--strong {
  background: var(--brand-indigo-light, #EEF0FF);
  border: 1px solid var(--brand-indigo-border, #C3C8F5);
  color: var(--brand-indigo-dark, #2c3279);
}
.match-chip--some {
  background: var(--brand-slate-fill, #EEF0F3);
  border: 1px solid var(--brand-slate-border, #cfd5df);
  color: var(--brand-slate-ink, #3d4656);
}
.match-bar { width: 96px; height: 5px; background: var(--brand-rule, #E6E2D8); margin-bottom: 10px; }
.match-bar span { display: block; height: 100%; }
.match-bar--best span { background: var(--brand-indigo, #3F46A5); }
.match-bar--strong span { background: var(--brand-lift, #7C83E8); }
.match-bar--some span { background: var(--brand-slate-bar, #8b95a7); }

.factor-block__list { margin: 0; padding: 0; list-style: none; display: grid; gap: 5px; }
.factor-line { display: flex; gap: 8px; font-size: 14px; line-height: 1.45; }
.factor-line__mark { flex: none; width: 12px; font-weight: 700; }
.factor-line--hit { color: var(--brand-ink, #111827); }
.factor-line--miss { color: var(--brand-label, #6B6455); }
.factor-block__pending { margin: 10px 0 0; color: var(--brand-label, #6B6455); font-size: 13px; }

.lawyer-card__actions { display: flex; flex-direction: column; gap: 10px; }
.lawyer-card__view, .lawyer-card__contact { height: 44px; width: 100%; font-size: 14.5px; padding: 0 12px; }
.lawyer-card__secondary { display: flex; gap: 10px; flex-wrap: wrap; }
.lawyer-card__secondary .action-toggle {
  border: 0;
  background: transparent;
  padding: 4px 0;
  color: var(--brand-indigo, #3F46A5);
  font-family: var(--brand-font-ui);
  font-size: 13px;
  cursor: pointer;
}
.lawyer-card__secondary .action-toggle[aria-pressed="true"] { font-weight: 700; }

/* ---- contact strip ---- */

.reach-strip {
  border: 1.5px solid var(--brand-ink, #111827);
  border-top: 0;
  background: #fff;
  padding: 18px 20px;
  margin-bottom: 22px;
}
.reach-strip__title { margin: 0 0 4px; font-size: 15.5px; font-weight: 700; color: var(--brand-ink, #111827); }
.reach-strip__note { margin: 0 0 12px; color: var(--brand-body, #4A5265); font-size: 13.5px; }
.reach-strip__options { display: flex; flex-wrap: wrap; gap: 10px; }
.reach-strip__option {
  min-height: 44px;
  padding: 10px 16px;
  border: 1.5px solid var(--brand-ink, #111827);
  border-radius: 0;
  background: #fff;
  color: var(--brand-ink, #111827);
  font-family: var(--brand-font-ui);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.reach-strip__option[aria-pressed="true"] { background: var(--brand-ink, #111827); color: #fff; }

/* ---- sponsored ---- */

.sponsored-block {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid var(--brand-rule, #E6E2D8);
}
.sponsored-block__label {
  display: inline-block;
  margin: 0 0 6px;
  padding: 3px 8px;
  border: 1px dotted var(--brand-paid-rule, #A9A293);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--brand-label, #6B6455);
}
.sponsored-block__note { margin: 0 0 12px; color: var(--brand-label, #6B6455); font-size: 13px; }
.lawyer-card--sponsored {
  background: var(--brand-sponsored, #F1EEE7);
  border: 1px dotted var(--brand-paid-rule, #A9A293);
  padding: 22px;
}
.lawyer-card__sponsor-note { margin: 12px 0 0; color: var(--brand-label, #6B6455); font-size: 13px; }

/* ---- filters + pager ---- */

.results1a__filters { margin-top: 30px; border-top: 1px solid var(--brand-rule, #E6E2D8); padding-top: 16px; }
.results1a__filters summary { cursor: pointer; font-size: 14px; font-weight: 700; color: var(--brand-indigo, #3F46A5); }
.results1a__filter-group { border: 0; margin: 18px 0 0; padding: 0; }
.results1a__filter-group legend { font-size: 12px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--brand-label, #6B6455); }
.results1a__filter-note { margin: 4px 0 8px; color: var(--brand-body, #4A5265); font-size: 13px; }
.results1a__filter-option { display: flex; align-items: center; gap: 8px; min-height: 36px; font-size: 14px; }
.results1a__filter-actions { display: flex; gap: 12px; margin-top: 20px; }

.results1a__pager { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; align-items: center; }
.results1a__pager a, .results1a__pager span {
  min-width: 40px;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border: 1px solid var(--brand-rule-strong, #DDD8CD);
  font-size: 14px;
  text-decoration: none;
}
.results1a__pager .is-current { background: var(--brand-ink, #111827); color: #fff; border-color: var(--brand-ink, #111827); }

@media (max-width: 980px) {
  .results1a__head { padding: 22px 18px 20px; }
  .results1a__stream { padding: 0 18px; }
  .match-panel { margin: 0 18px; }
}

@media (max-width: 720px) {
  .results1a__title { font-size: 26px; }
  .lawyer-card { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 18px 0; }
  .lawyer-card__photo { width: 72px; height: 86px; }
  .lawyer-card__name { font-size: 22px; }
  .lawyer-card__view, .lawyer-card__contact { height: 48px; }
  .match-panel__title { font-size: 22px; }
}

/* ================================================================== quiz == */

.quiz-page { padding: 40px 48px 56px; }
.quiz-panel {
  max-width: 640px;
  padding: 26px 28px 24px;
  background: var(--brand-ink, #111827);
}
.quiz-panel__top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}
.quiz-panel__step {
  margin: 0;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--brand-lift, #7C83E8);
}
.quiz-panel__close {
  border: 0;
  background: transparent;
  padding: 0;
  color: var(--brand-body-on-ink, #C7CBD4);
  font-family: var(--brand-font-ui);
  font-size: 13.5px;
  text-decoration: underline;
  cursor: pointer;
}
.quiz-panel__question {
  margin: 0 0 8px;
  font-family: var(--brand-font-display);
  font-size: 28px;
  line-height: 1.15;
  font-weight: 600;
  color: #fff;
}
.quiz-panel__note { margin: 0 0 20px; color: var(--brand-body-on-ink, #C7CBD4); font-size: 14px; line-height: 1.5; }
.quiz-panel__options { display: grid; gap: 10px; }
.quiz-option {
  display: block;
  width: 100%;
  min-height: 52px;
  padding: 12px 16px;
  border: 1px solid #6a7183;
  border-radius: 0;
  background: transparent;
  color: #fff;
  font-family: var(--brand-font-ui);
  text-align: left;
  cursor: pointer;
}
.quiz-option:hover { border-color: #fff; }
.quiz-option.is-selected { background: #fff; color: var(--brand-ink, #111827); border-color: #fff; }
.quiz-option__title { display: block; font-size: 15.5px; font-weight: 600; }
.quiz-option__note { display: block; margin-top: 2px; font-size: 13px; opacity: 0.8; }
.quiz-panel__skip { margin-top: 16px; }
.quiz-panel__skip button {
  border: 0;
  background: transparent;
  padding: 6px 0;
  color: var(--brand-body-on-ink, #C7CBD4);
  font-family: var(--brand-font-ui);
  font-size: 14px;
  text-decoration: underline;
  cursor: pointer;
}

@media (max-width: 720px) {
  .quiz-page { padding: 22px 18px 36px; }
  .quiz-panel { padding: 20px 18px; }
  .quiz-panel__question { font-size: 23px; }
}

/* ================================================== auth + dashboard ===== */

.auth { padding: 48px 48px 64px; max-width: 560px; }
.auth__eyebrow {
  margin: 0 0 8px;
  color: var(--brand-indigo, #3F46A5);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.auth__title {
  margin: 0 0 10px;
  font-family: var(--brand-font-display);
  font-size: 34px;
  line-height: 1.1;
  font-weight: 600;
  color: var(--brand-ink, #111827);
}
.auth__lead { margin: 0 0 22px; color: var(--brand-body, #4A5265); font-size: 16px; line-height: 1.55; }
.auth__status {
  margin: 0 0 18px;
  padding: 10px 14px;
  border-left: 3px solid var(--brand-indigo, #3F46A5);
  background: var(--brand-indigo-light, #EEF0FF);
  color: var(--brand-indigo-dark, #2c3279);
  font-size: 14px;
}
.auth__form { display: grid; gap: 6px; margin-bottom: 18px; }
.auth__form .issue-form__label { margin-top: 12px; }
.auth__remember {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  color: var(--brand-body, #4A5265);
  font-size: 14px;
}
.auth__submit { margin-top: 18px; justify-self: start; }
.auth__aside { margin: 6px 0 0; font-size: 14px; }
.auth__aside--muted { color: var(--brand-label, #6B6455); }
.auth__linkbutton {
  border: 0;
  background: transparent;
  padding: 8px 0;
  color: var(--brand-indigo, #3F46A5);
  font-family: var(--brand-font-ui);
  font-size: 14px;
  text-decoration: underline;
  cursor: pointer;
}

.dash-card {
  border: 1px solid var(--brand-rule, #E6E2D8);
  background: #fff;
  padding: 20px;
  margin-bottom: 18px;
}
.dash-card__name {
  margin: 0 0 6px;
  font-family: var(--brand-font-display);
  font-size: 22px;
  font-weight: 600;
  color: var(--brand-ink, #111827);
}
.dash-card__state { margin: 0 0 10px; color: var(--brand-body, #4A5265); font-size: 14px; }
.dash-card__office { margin: 0 0 4px; color: var(--brand-body, #4A5265); font-size: 13.5px; }
.dash-card__tag {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 7px;
  border: 1px solid var(--brand-paid-rule, #A9A293);
  font-size: 11px;
  font-weight: 700;
  color: var(--brand-label, #6B6455);
}
.dash-card__buy { margin-top: 14px; }

@media (max-width: 720px) {
  .auth { padding: 26px 18px 40px; }
  .auth__title { font-size: 27px; }
}

/* ------------------------------------------------------------ checkout -- */

.checkout { padding: 48px 48px 64px; max-width: 640px; }
.checkout__title {
  margin: 0 0 10px;
  font-family: var(--brand-font-display);
  font-size: 34px;
  line-height: 1.1;
  font-weight: 600;
  color: var(--brand-ink, #111827);
}
.checkout__lead { margin: 0 0 26px; color: var(--brand-body, #4A5265); font-size: 15.5px; line-height: 1.55; }
.checkout__plan { border: 1.5px solid var(--brand-ink, #111827); background: #fff; padding: 22px; }
.checkout__plan-name {
  margin: 0 0 4px;
  font-family: var(--brand-font-display);
  font-size: 24px;
  font-weight: 600;
  color: var(--brand-ink, #111827);
}
.checkout__plan-price { margin: 0 0 4px; font-size: 20px; font-weight: 800; color: var(--brand-indigo, #3F46A5); }
.checkout__plan-tagline { margin: 0 0 14px; color: var(--brand-body, #4A5265); font-size: 14px; }
.checkout__features { margin: 0 0 18px; padding-left: 18px; color: var(--brand-body, #4A5265); font-size: 14px; line-height: 1.7; }
.checkout__form { display: grid; gap: 6px; }
.checkout__submit { margin-top: 18px; justify-self: start; }
.checkout__ref { margin-top: 20px; color: var(--brand-label, #6B6455); font-size: 13px; }

@media (max-width: 720px) {
  .checkout { padding: 26px 18px 40px; }
  .checkout__title { font-size: 27px; }
}

.auth__optional { font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--brand-label, #6B6455); }
.auth__form select.issue-form__where { padding-bottom: 8px; font-size: 16px; }
.auth__form textarea.issue-form__where { font-size: 16px; resize: vertical; }
