/* MOZO sitewide readability layer — loaded after each page's component styles. */
:root {
  --mozo-font-display: Georgia, "Times New Roman", serif;
  --mozo-font-ui: Arial, Helvetica, sans-serif;
  --mozo-text-meta: 0.8125rem;
  --mozo-text-support: 0.875rem;
  --mozo-text-control: 0.9375rem;
  --mozo-text-body: 1rem;
  --mozo-text-lead: 1.125rem;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  font-size: var(--mozo-text-body);
  line-height: 1.6;
}

body,
button,
input,
select,
textarea {
  font-family: var(--mozo-font-ui);
}

h1,
h2,
h3,
.display-title,
.hero-title,
.section-title {
  font-family: var(--mozo-font-display);
}

main p:not(.eyebrow):not(.mini-label):not(.step-kicker):not(.duration),
main li {
  font-size: var(--mozo-text-body);
  line-height: 1.65;
}

main small {
  font-size: var(--mozo-text-support);
  line-height: 1.5;
}

label,
summary {
  font-size: var(--mozo-text-control);
  line-height: 1.5;
}

input,
select,
textarea {
  font-size: 1rem;
  line-height: 1.5;
}

button,
.button,
.primary-button,
.outline-button,
.text-button,
.pay-button,
.action-link {
  font-size: var(--mozo-text-control);
  line-height: 1.35;
}

.site-nav a,
.portal-nav a,
.portal-topbar a,
.bp-topbar a,
.auth-back,
.account-link {
  font-size: var(--mozo-text-support);
}

.eyebrow,
.mini-label,
.step-kicker,
.service-level,
.status,
.status-pill,
.status-note,
.tag,
.duration,
.card-number,
.step-number,
.field-note,
.assessment-measures span,
.funnel-baseline span,
.context-grid span,
.diagnosis-grid p,
.metric-grid article > span,
.portal-measures span {
  font-size: var(--mozo-text-meta);
  line-height: 1.45;
}

.lede,
.hero-copy > p,
.section-intro,
.auth-intro,
.portal-intro,
.blueprint-start > p,
.launch-hero-copy > p {
  font-size: var(--mozo-text-lead);
  line-height: 1.65;
}

.help-text,
.form-help,
.data-note,
.priority-action,
.portal-note,
.prototype-note,
.auth-note,
.payment-note {
  font-size: var(--mozo-text-support);
  line-height: 1.6;
}

footer,
.site-footer,
.portal-footer,
.bp-footer,
.auth-footer {
  font-size: var(--mozo-text-support) !important;
  line-height: 1.55;
}

/* Public site and three-stage path */
.pill,
.route-number,
.route-role,
.route-output span,
.route-meta,
.route-meta a,
.score-ring span {
  font-size: var(--mozo-text-meta);
}

.deliverables li > span,
.contact-note,
footer > div a {
  font-size: var(--mozo-text-meta);
}

/* Discovery and assessment report */
.progress-meta span,
.sample-banner,
.report-brand span,
.score-band,
.score-disc span,
.category-top span,
.priority-card > span,
.recommendation-card .service-level {
  font-size: var(--mozo-text-meta);
  line-height: 1.5;
}

.recommendation-card li,
.path-card span,
.report-topbar span,
.report-meta {
  font-size: var(--mozo-text-meta);
  line-height: 1.5;
}

/* Blueprint workspace */
.client-mini span,
.client-mini small,
.nav-item small,
.deliverable-marker em,
.deliverable-copy > p:first-child,
.deliverable-output b,
.snapshot-copy p,
.snapshot-copy small,
.evidence-note > small,
.session-stages small,
.assessment-response small,
.metric-grid small,
.portal-funnel li small {
  font-size: var(--mozo-text-meta);
  line-height: 1.5;
}

.prototype-note,
.prototype-note b,
.prototype-note span,
.support-brief span,
.blueprint-start p b {
  font-size: var(--mozo-text-meta);
  line-height: 1.5;
}

.nav-item i,
.session-stages > div > span,
.portal-funnel li span {
  font-size: 0.75rem;
}

/* Agent Launch workspace */
.launch-brief > span,
.launch-brief > small,
.progress-line strong,
.step-nav button i,
.step-nav button small,
.step-nav button b,
.step-heading > span,
.step-controls span {
  font-size: var(--mozo-text-meta);
  line-height: 1.45;
}

/* Portal and payment sequence */
.current-focus > span,
.phase-line li > span,
.phase-line li small,
.section-label span,
.process-line span,
.process-line small,
.service-option > span > span {
  font-size: var(--mozo-text-meta);
  line-height: 1.5;
}

/* Blueprint completion handoff */
.blueprint-handoff {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
  gap: 38px;
  margin-top: 48px;
  padding: 32px 34px;
  border-left: 4px solid #148d83;
  background: #e4f1ed;
}

.blueprint-handoff .eyebrow {
  margin-bottom: 10px;
}

.blueprint-handoff h2 {
  margin: 0;
  color: #102b35;
  font: 500 1.9375rem/1.18 Georgia, "Times New Roman", serif;
}

.blueprint-handoff p:not(.eyebrow) {
  max-width: 670px;
  margin: 12px 0 0;
  color: #617679;
  font-size: 1rem;
  line-height: 1.65;
}

.blueprint-handoff ul {
  display: grid;
  gap: 12px;
  align-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.blueprint-handoff li {
  position: relative;
  padding-left: 19px;
  color: #35565a;
  font-size: 1rem;
  line-height: 1.5;
}

.blueprint-handoff li::before {
  position: absolute;
  left: 0;
  color: #148d83;
  font-weight: 800;
  content: "\2713";
}

@media (max-width: 900px) {
  .blueprint-handoff {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  body {
    font-size: 1rem;
  }

  main p:not(.eyebrow):not(.mini-label):not(.step-kicker):not(.duration),
  main li {
    line-height: 1.7;
  }

  .blueprint-handoff {
    padding: 26px 22px;
  }
}
