/* Continuous responsive typography r8.2.
   Relative units preserve user text scaling; viewport terms remove breakpoint jumps. */
.vp-hero h1 {
  font-size:var(--type-display-lg);
}

.vp-legal-hero h1,
.vp-auth-story h1,
.vp-consult-hero h1 {
  font-size:clamp(2.125rem, calc(1.55rem + 2.7vw), 4.25rem);
}

.vp-title {
  font-size:var(--type-display-md);
}

.vp-hero-card blockquote {
  font-size:clamp(1.375rem, calc(1.292rem + .417vw), 1.625rem);
}

.vp-lead,
.vp-subtitle,
.vp-consult-hero p:not(.vp-eyebrow) {
  max-inline-size:68ch;
  font-size:var(--type-lead);
  text-wrap:pretty;
}

.vp-feature-grid h3,
.vp-brand-stage-grid h3,
.vp-output-preview h3 {
  font-size:var(--type-card-title);
}

.vp-feature-grid p,
.vp-phase-grid p,
.vp-brand-stage-grid p,
.vp-output-preview article p {
  font-size:var(--type-body-compact);
}

.vp-site :is(h1,h2,h3,blockquote),
.iv-app .iv-page :is(h1,h2,h3,blockquote) {
  overflow-wrap:normal;
  text-wrap:balance;
}

.vp-site :is(p,li),
.iv-app .iv-page :is(p,li) {
  overflow-wrap:anywhere;
}

.iv-overview-hero h1,
.iv-inner-hero h1,
.iv-work-hero h1,
.iv-creative-hero h1 {
  font-size:var(--type-workspace-display);
}

.iv-section-head h2,
.iv-workload-panel > .iv-section-head h2,
.iv-schedule-agenda > header h2,
.iv-guided-worksheet h2 {
  font-size:var(--type-section-title);
}

.iv-app .iv-page p,
.iv-app .iv-page li {
  font-size:var(--type-body-compact);
}

.iv-app .iv-page small {
  font-size:var(--type-micro);
}

.iv-app .iv-page label,
.iv-app .iv-page button:not(.iv-info) {
  font-size:var(--type-small);
}

/* Readable compact interface text.
   Older workspace modules used 6px to 11px labels to fit dense prototypes.
   Keep their visual hierarchy, but use the shared responsive scale so status,
   navigation and decision text remains legible at every supported width. */
.iv-metric-row span,
.iv-overview-hero aside > span,
.iv-section-head small,
.iv-context-card > span,
.iv-output-chain article > span,
.iv-member-grid article > span,
.iv-archive-grid article > span,
.iv-idea-card-grid header span,
.iv-rating-grid header span,
.iv-idea-quadrant article > span,
.iv-assessment-dimension-summary > header b,
.iv-assessment-dimension-summary > header span,
.iv-assessment-dimension-summary article span,
.iv-assessment-dimension-summary article > small,
.iv-assessment-conclusion > section small,
.iv-paid-reassessment > header span,
.iv-report-downloads th,
.iv-report-downloads td::before {
  font-size:var(--type-micro)!important;
  line-height:1.4!important;
}

.iv-metric-row b {
  font-size:clamp(1.625rem, calc(1.5rem + .625vw), 2rem);
  line-height:1.05;
}

.iv-metric-row b small {
  font-size:var(--type-micro);
}

.iv-metric-row em,
.iv-overview-hero aside > b,
.iv-participant-picker b,
.iv-contribution-strip b,
.iv-idea-card-grid header b,
.iv-rating-grid header > b,
.iv-assessment-dimension-summary article b,
.iv-assessment-needs > details > summary,
.iv-assessment-needs section > button,
.iv-paid-reassessment > a,
.iv-project-danger-zone summary {
  font-size:var(--type-small);
  line-height:1.4;
}

.iv-creative-steps button > b {
  font-size:var(--type-small);
}

.iv-participant-picker h3,
.iv-contribution-history > h3 {
  font-size:var(--type-card-title);
}

.iv-assessment-category > p,
.iv-assessment-response p,
.iv-paid-reassessment > p,
.iv-paid-reassessment > ul,
.iv-assessment-footnote {
  font-size:var(--type-body-compact)!important;
  line-height:1.55!important;
}

.iv-prompt header .iv-guidance-popover,
.iv-prompt header .iv-guidance-balloon,
.iv-guidance-balloon em {
  font-size:var(--type-small)!important;
  line-height:1.5!important;
}

.iv-guidance-balloon b,
.iv-saved-response > span,
.iv-saved-reflection > span,
.iv-work-routing > header > span {
  font-size:var(--type-micro)!important;
  line-height:1.4!important;
}

.iv-work-routing article span,
.iv-work-routing > small {
  font-size:var(--type-small);
  line-height:1.5;
}

.iv-bmc-download-options button b {
  font-size:var(--type-small)!important;
}

.iv-bmc-download-options button span,
.iv-assessment-signals article span {
  font-size:var(--type-micro)!important;
  line-height:1.4!important;
}

.iv-plan-progress > strong {
  font-size:var(--type-small)!important;
  line-height:1.2!important;
}

.iv-method-nav summary b,
.iv-chapter-areas small,
.iv-side-foot small,
.iv-notice,
.iv-notice button,
.iv-archive-grid dt,
.iv-archive-grid dd,
.iv-import-review .iv-empty b,
.iv-project-danger-zone label b,
.iv-bmc-footnote a,
.iv-schedule-summary span,
.iv-schedule-assignees em,
.iv-workload-panel button em,
.iv-schedule-agenda header small,
.iv-schedule-agenda .iv-empty b {
  font-size:var(--type-micro)!important;
  line-height:1.4!important;
}

/* Collapse the fixed workspace rail when it would leave an unreadably narrow
   content measure. This breakpoint follows the content rather than a device. */
@media (max-width:1100px) {
  .iv-sidebar {
    inset:68px auto 0 0;
    transform:translateX(-105%);
    transition:transform var(--vp-dur-disclose) var(--vp-ease-out);
  }

  .iv-sidebar.open { transform:translateX(0); }
  .iv-mobile-close,.iv-menu { display:block; }
  .iv-nav-scrim.open { display:block; position:fixed; inset:0; z-index:35; border:0; background:rgba(6,8,24,.5); }
  .iv-workspace { margin-left:0; }
  .iv-notice { left:50%; max-width:calc(100vw - 30px); }
  .iv-save-state { display:none; }
  .iv-side-head { min-height:54px; padding:0 16px!important; display:flex; color:#002439; }
  .iv-side-head b { font:600 12px/1.4 var(--font-mono),monospace; letter-spacing:.1em; text-transform:uppercase; }
  .iv-mobile-close { border-color:#c6d0d5; color:#002439; }
  .iv-topbar-brand { margin-right:0; }
  .iv-overview-hero { grid-template-columns:1fr; }
  .iv-overview-hero aside { max-width:520px; }
  .iv-work-layout,.iv-evidence-layout,.iv-report-layout,.iv-stage-map { grid-template-columns:1fr; }
  .iv-context-column { position:static; grid-template-columns:1fr 1fr; }
  .iv-context-card.iv-handoff { grid-row:span 2; }
  .iv-evidence-form,.iv-assessment-report { position:static; }
  .iv-member-grid { grid-template-columns:repeat(2,1fr); }
  .iv-stage-map > .iv-section-head { grid-column:1; }
  .iv-output-chain > div:last-child,
  .vp-output-preview .vp-wrap > div:last-child { grid-template-columns:1fr 1fr; }
  .iv-output-chain article:nth-child(2),
  .vp-output-preview article:nth-child(2) { border-right:1px solid var(--iv-line); }
  .iv-output-chain article:nth-child(n+3),
  .vp-output-preview article:nth-child(n+3) { border-top:0; }
  .vp-journey-handoff { grid-template-columns:1fr; }
  .vp-journey-handoff i { transform:rotate(90deg); }
}

@media screen and (max-width:760px) {
  .iv-sidebar { inset:64px auto 0 0; }

  .iv-app input,
  .iv-app select,
  .iv-app textarea,
  .vp-site input,
  .vp-site select,
  .vp-site textarea,
  .vp-auth-shell input,
  .vp-auth-shell select,
  .vp-auth-shell textarea,
  .vp-consult-shell input,
  .vp-consult-shell select,
  .vp-consult-shell textarea {
    font-size:1rem!important;
  }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:0.01ms!important; animation-iteration-count:1!important; transition-duration:0.01ms!important; scroll-behavior:auto!important; }
}
