/* The audience chooser on the homepage and the real-estate office edition page (/offices).
   It only adds what landing.css does not have; every colour and size comes from its tokens. */

/* ── "What do you manage?" under the homepage hero ─────────────── */
.audience-chooser { padding-block: 40px 16px; }
.audience-title {
  text-align: center;
  font-size: clamp(1.35rem, 2.6vw, 1.9rem);
  font-weight: 700;
  line-height: 1.4;
  color: var(--white);
  margin-bottom: 24px;
}
.audience-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  max-width: 960px;
  margin-inline: auto;
}
.audience-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 28px;
  border-radius: var(--radius);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
}
.audience-card h3 { font-size: 1.25rem; font-weight: 700; line-height: 1.4; color: var(--white); }
.audience-card p { color: rgba(255,255,255,.7); line-height: 1.8; flex: 1; }
.audience-card .btn { margin-top: 4px; min-height: 44px; }
.audience-card.is-office { border-color: rgba(108,231,255,.35); }
@media (max-width: 720px) {
  .audience-grid { grid-template-columns: 1fr; }
  .audience-card { padding: 22px; }
}

/* ── The office edition page ───────────────────────────────────── */
.offices-page .offices-hero-board { max-width: 440px; margin-inline: auto; }
.offices-page .offices-note {
  margin-top: 24px;
  text-align: center;
  font-size: .95rem;
  color: rgba(255,255,255,.62);
  line-height: 1.8;
}
.offices-page .split .offices-note { text-align: start; margin-top: 12px; }
.offices-page .offices-listings .section-head .eyebrow { display: block; }
.offices-page .offices-plans-soon {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  max-width: 640px;
  margin-inline: auto;
  text-align: center;
}
.offices-page .offices-plans-soon p { color: rgba(255,255,255,.75); line-height: 1.8; }
.offices-page .offices-back { margin-top: 20px; font-size: .95rem; }
.offices-page .offices-back a { color: rgba(255,255,255,.8); text-decoration: underline; text-underline-offset: 3px; }
.offices-page .final-cta .conversion-note { display: block; margin-top: 12px; }

/* ── Registration of an office (/signup/office) ────────────────── */
.signup-page .signup-section { padding-block: 56px 80px; }
.signup-page .signup-wrap { max-width: 760px; }
.signup-page .section-head h1 {
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  font-weight: 700;
  line-height: 1.3;
  color: var(--white);
  margin-bottom: 14px;
}
.signup-page .signup-card {
  padding: 32px;
  border-radius: var(--radius);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
}
.signup-page .signup-trial {
  margin-bottom: 20px;
  padding: 12px 16px;
  border-radius: 14px;
  background: rgba(19,194,122,.12);
  border: 1px solid rgba(19,194,122,.3);
  color: rgba(255,255,255,.9);
  line-height: 1.7;
}
.signup-page .signup-error {
  margin-bottom: 20px;
  padding: 12px 16px;
  border-radius: 14px;
  background: rgba(255,83,104,.12);
  border: 1px solid rgba(255,83,104,.4);
  color: #ffd5da;
  line-height: 1.7;
}
.signup-page .signup-group {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--cyan);
  margin-top: 8px;
}
.signup-page .signup-hint { display: block; margin-top: 6px; font-size: .82rem; color: rgba(255,255,255,.55); }
.signup-page .signup-links { display: flex; flex-wrap: wrap; gap: 16px 24px; justify-content: space-between; font-size: .92rem; }
.signup-page .signup-links a { color: rgba(255,255,255,.8); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 640px) {
  .signup-page .signup-section { padding-block: 32px 56px; }
  .signup-page .signup-card { padding: 20px; }
}
