:root {
  --type-display: clamp(2.00000rem, 1.53488rem + 2.32558vw, 3.25000rem);
  --type-case-hero: clamp(1.78125rem, 1.23474rem + 2.73256vw, 3.25000rem);
  --type-display-compact: clamp(2.12500rem, 1.84593rem + 1.39535vw, 2.87500rem);
  --type-section: clamp(1.62500rem, 1.29942rem + 1.62791vw, 2.50000rem);
  --type-editorial: clamp(1.37500rem, 1.16570rem + 1.04651vw, 1.93750rem);
  --type-component-large: clamp(1.37500rem, 1.28198rem + 0.46512vw, 1.62500rem);
  --type-component: clamp(1.25000rem, 1.15698rem + 0.46512vw, 1.50000rem);
  --type-lead: clamp(1.12500rem, 1.05523rem + 0.34884vw, 1.31250rem);
  --type-body-large: clamp(1.00000rem, 0.95349rem + 0.23256vw, 1.12500rem);
  --type-body: clamp(0.96875rem, 0.95712rem + 0.05814vw, 1.00000rem);
  --type-case-transformation: clamp(0.93750rem, 0.90262rem + 0.17442vw, 1.03125rem);
  --type-caption: clamp(0.87500rem, 0.85174rem + 0.11628vw, 0.93750rem);
  --type-ui: clamp(0.81250rem, 0.78924rem + 0.11628vw, 0.87500rem);
  --type-micro: 0.75000rem;
  --section-heading-size: var(--type-section);
}

body {
  font-size: var(--type-body);
}

:where(h1, h2, .subtitle, .short-subtitle, .preferred-line) {
  text-wrap: balance;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

:where(p, blockquote, li) {
  text-wrap: pretty;
}

input,
textarea,
select {
  font-size: max(1rem, var(--type-body));
}

.semantic-atom {
  white-space: nowrap;
}

.preferred-line {
  display: block;
  white-space: normal;
  text-wrap: balance;
}

.step10-mobile-line {
  display: inline;
  white-space: normal;
  text-wrap: balance;
}

.step10-tablet-line {
  display: inline;
}

.process-psg {
  display: inline;
  white-space: normal;
  text-wrap: balance;
}

.step10-wide-break,
.step10-break,
.step10-break-mobile,
.step10-mobile-only,
.step10-wide-only {
  display: none;
}

.wordmark,
.footer-brand {
  font-size: var(--type-lead);
}

.site-nav,
.btn,
.case-link,
.mobile-nav-toggle,
.qualification-form :is(label, input, textarea, select, button, .chip span),
[data-analytics-preferences] {
  font-size: var(--type-ui);
}

.eyebrow,
.footer-label,
.qualification-overlay .required-mark {
  font-size: var(--type-micro);
}

.footer-desc,
.footer-bottom,
.status-text,
.qualification-overlay :is(.error-message, .group-error) {
  font-size: var(--type-caption);
}

.hero h1,
.intro-copy h1,
.personal-copy h1,
.hero-copy h1 {
  font-size: var(--type-display);
  white-space: normal;
  text-wrap: balance;
}

.case-hero h1 {
  font-size: var(--type-case-hero);
}

.privacy-intro h1 {
  font-size: var(--type-display-compact);
}

.problem-copy h2,
.case-head h2,
.best-fit h2,
.final-cta h2,
.section-head h2,
.process-head h2,
.workflow-head h2,
.inside-head h2,
.summary-lede h2,
.faq-copy h2 {
  font-size: var(--type-section);
  white-space: normal;
  text-wrap: balance;
}

.main-statement {
  font-size: var(--type-editorial);
}

.hero-copy .subtitle,
.intro-copy p,
.personal-description,
.final-cta p,
.client-types {
  font-size: var(--type-lead);
}

.overview-copy,
.privacy-summary,
.policy-content {
  font-size: var(--type-body-large);
}

.case-card h3,
.stage-title h2,
.offer-primary h3,
.policy-section h2,
.workflow-card h3,
.inside-card h3 {
  font-size: var(--type-component);
}

.case-card .transformation,
.tool-name,
.contact-link,
.professional-label {
  font-size: var(--type-lead);
}

.case-card .transformation {
  font-size: var(--type-case-transformation);
}

.stage-copy h3,
.faq-question,
.summary-block h3,
.metric-value {
  font-size: var(--type-body-large);
}

.case-description,
.stage-copy p,
.offer-stack p,
.faq-copy p,
.diagnostic-category,
.diagnostic-symptom {
  font-size: var(--type-body);
}

.step10-break-desktop {
  display: none;
}

@media (max-width: 1021px) {
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 38px;
    align-items: start;
  }

  [data-od-id="hero-content"] {
    transform: none;
  }

  .workflow-visual {
    width: 100%;
    max-width: 560px;
  }
}

@media (max-width: 600px) {
  .hero h1[data-od-id="hero-heading"] .preferred-line {
    display: inline;
  }

  .step10-mobile-line {
    display: block;
  }

  .step10-mobile-only {
    display: inline;
  }

  .problem-fit .diagnostic-row {
    min-height: auto;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    padding-block: 16px;
  }

  .problem-fit .diagnostic-category {
    white-space: normal;
  }

  .problem-fit .diagnostic-symptom {
    width: 100%;
  }

  .best-fit,
  .best-fit .main-statement,
  [data-section="main-delivery-process-intro"] .intro-copy {
    text-align: left;
  }

  .best-fit .editorial-divider {
    margin-inline: 0 auto;
  }

  [data-section="main-delivery-process-intro"] .intro-copy p {
    margin-inline: 0;
  }
}

.faq-trigger,
.contact-link,
.qualification-form :is(input, textarea, select, button, .chip span),
[data-analytics-preferences] {
  scroll-margin-bottom: 180px;
}

@media (min-width: 901px) {
  .problem-grid {
    grid-template-columns: minmax(0, 38fr) minmax(0, 62fr);
  }

  .problem-grid > *,
  .diagnostic-list,
  .diagnostic-row,
  .diagnostic-symptom {
    min-width: 0;
  }
}

@media (min-width: 601px) and (max-width: 1279px) {
  .problem-fit .diagnostic-row {
    align-items: baseline;
    align-items: first baseline;
  }
}

@media (min-width: 901px) and (max-width: 1279px) {
  [data-section="main-delivery-process-intro"] .process-psg {
    display: block;
    white-space: normal;
    text-wrap: balance;
  }

  [data-section="main-delivery-process-intro"] .desktop-subtitle-break {
    display: none;
  }
}

@media (min-width: 601px) {
  .problem-fit h2[data-od-id="problem-fit-heading"] .step10-tablet-line,
  #process-title .step10-tablet-line {
    display: block;
    white-space: nowrap;
    text-wrap: nowrap;
  }

  .best-fit .main-statement {
    text-wrap: balance;
  }

  .best-fit .main-statement .step10-mobile-line {
    display: contents;
  }

  .best-fit .main-statement .best-fit-desktop-psg-start::before {
    content: "";
    display: block;
  }

  .step10-wide-only {
    display: inline;
  }

  .case-card h3 .preferred-line,
  .case-card .transformation .preferred-line {
    display: block;
  }

  br.step10-wide-break {
    display: none;
  }

  .step10-keep-wide {
    white-space: normal;
    text-wrap: balance;
  }
}

@media (min-width: 761px) and (max-width: 900px) {
  .best-fit .main-statement .step10-mobile-line,
  #qualification-title .step10-mobile-line {
    display: contents;
  }

  .best-fit .main-statement [data-best-fit-tablet-psg],
  #qualification-title [data-about-cta-tablet-psg] {
    display: inline;
    white-space: normal;
    text-wrap: balance;
    word-break: normal;
    overflow-wrap: normal;
  }

  .best-fit .main-statement [data-best-fit-tablet-start]::before,
  #qualification-title [data-about-cta-tablet-start]::before {
    content: "";
    display: block;
  }

  .best-fit .main-statement .best-fit-desktop-psg-start::before {
    content: none;
    display: none;
  }
}

@media (min-width: 1280px), (max-width: 600px) {
  .problem-fit h2[data-od-id="problem-fit-heading"] .step10-tablet-line,
  #process-title .step10-tablet-line {
    display: inline;
    white-space: normal;
    text-wrap: balance;
  }
}

@media (min-width: 1022px) {
  .case-card .transformation br.step10-wide-break {
    display: none;
  }

  .case-hero h1 .preferred-line,
  .case-hero .subtitle {
    text-wrap: wrap;
  }

  .case-hero h1 .preferred-line,
  .case-hero .subtitle .preferred-line {
    display: inline;
  }

  br.step10-wide-break {
    display: block;
  }
}

.workflow-visual .hero-dots {
  position: relative;
  z-index: 3;
  gap: 0;
}

.workflow-visual .dot {
  position: relative;
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
}

.workflow-visual .dot::before {
  content: "";
  width: 11px;
  height: 11px;
  border: 1px solid color-mix(in oklch, var(--accent) 36%, var(--border));
  border-radius: 999px;
  background: color-mix(in oklch, var(--surface) 68%, transparent);
}

.workflow-visual .dot.is-active {
  background: transparent;
  border-color: transparent;
}

.workflow-visual .dot.is-active::before {
  background: var(--accent);
  border-color: var(--accent);
}

.mobile-nav-toggle {
  display: none;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 10px 14px;
  color: var(--fg);
  background: color-mix(in oklch, var(--surface) 78%, transparent);
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
}

.mobile-nav-toggle:focus-visible {
  outline: 3px solid color-mix(in oklch, var(--accent) 30%, transparent);
  outline-offset: 3px;
}

@media (max-width: 760px) {
  .header-inner {
    min-height: 72px;
    height: auto;
    grid-template-columns: 1fr auto;
    gap: 12px;
    padding-block: 14px;
  }

  .mobile-nav-toggle {
    display: inline-flex;
    justify-self: end;
  }

  .site-nav[hidden] {
    display: none !important;
  }

  .site-nav:not([hidden]) {
    grid-column: 1 / -1;
    justify-self: stretch;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    width: 100%;
    padding-top: 10px;
    border-top: 1px solid var(--border);
  }

  .site-nav:not([hidden]) a {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}
