/* Keep the Support TI editorial typography aligned with the rest of ZOMFY. */
.ti-page .ti-hero-copy > .eyebrow,
.ti-page .ti-scope-label .eyebrow,
.ti-page .section-kicker,
.ti-page .service-section__index,
.ti-page .ti-explore-heading > .eyebrow,
.ti-page .ti-modes-heading > .eyebrow {
  font-size: 13px;
}
.ti-page .ti-service-title,
.ti-page .ti-lead,
.ti-page .ti-scope-content,
.ti-page .service-section p:not(.service-section__index),
.ti-page .service-list,
.ti-page .service-list > li,
.ti-page .service-process span,
.ti-page .service-cta p:not(.kicker),
.ti-page .section-heading > p,
.ti-page .capability-card p,
.ti-page .capability-card .bullet-list,
.ti-page .capability-card .bullet-list li,
.ti-page .growth-card p,
.ti-page .ti-modes-heading > p:last-child,
.ti-page .ti-mode-card > p:last-child,
.ti-page .service-faq details > p,
.ti-page .faq-list details > p {
  font-size: 17px !important;
  line-height: 1.7;
}
.ti-page .ti-breadcrumb,
.ti-page .ti-art-top,
.ti-page .ti-schematic-node,
.ti-page .ti-art figcaption,
.ti-page .ti-scope-content .bullet-list li,
.ti-page .ti-appointment,
.ti-page .capability-card__index,
.ti-page .growth-card__index {
  font-size: 14px;
}
.ti-page .ti-mode-area { font-size: 13px !important; line-height: 1.5; }
.ti-page .ti-mode-number { font-size: 13px; }
.ti-page .ti-actions .button,
.ti-page .ti-quiet-link,
.ti-page .service-cta .button,
.ti-page .growth-card .text-link {
  font-size: 15px;
}

/* The three-step request stays compact, but its text is comfortable to read. */
.premium-page .ti-page .ti-intake-heading .section-kicker { font-size: 12px; }
.premium-page .ti-page .ti-intake-heading > p { font-size: 15px; line-height: 1.6; }
.ti-page .ti-wizard .ti-wizard-head,
.ti-page .ti-wizard .ti-wizard-count,
.ti-page .ti-wizard .ti-progress li,
.ti-page .ti-wizard .ti-progress li > span { font-size: 13px; }
.ti-page .ti-wizard .ti-step > legend { font-size: clamp(25px, 2.3vw, 30px); }
.ti-page .ti-wizard .ti-audience-row > span,
.ti-page .ti-wizard .ti-audience-switch label > span,
.ti-page .ti-wizard .ti-field-label,
.ti-page .ti-wizard .field label,
.ti-page .ti-wizard .ti-optional > summary,
.ti-page .ti-wizard .ti-consent .check,
.ti-page .ti-wizard .ti-safety,
.ti-page .ti-wizard .ti-back,
.ti-page .ti-wizard .form-status,
.ti-page .ti-wizard .ti-result-actions .text-link { font-size: 14px; }
.ti-page .ti-wizard .ti-choice,
.ti-page .ti-wizard input:not([type=radio]):not([type=checkbox]),
.ti-page .ti-wizard select,
.ti-page .ti-wizard textarea,
.ti-page .ti-wizard .ti-wizard-actions .button,
.ti-page .ti-wizard .ti-result-actions .button { font-size: 16px; }
.ti-page .ti-wizard input::placeholder,
.ti-page .ti-wizard textarea::placeholder,
.ti-page .ti-wizard .ti-form-result > p:not(.eyebrow),
.ti-page .ti-wizard .ti-form-result pre { font-size: 14px; }
.ti-page .ti-wizard .ti-required,
.ti-page .ti-wizard .ti-local-line,
.ti-page .ti-wizard .ti-optional > summary > span,
.ti-page .ti-wizard .ti-form-result > .eyebrow { font-size: 12px; }
.ti-page .ti-wizard .ti-choice { min-height: 48px; padding: 11px 13px; }
.ti-page .ti-wizard input:not([type=radio]):not([type=checkbox]),
.ti-page .ti-wizard select { min-height: 48px; }
.ti-page .ti-wizard .ti-choice-check { font-size: 14px; }

@media (max-width: 600px) {
  .ti-page .ti-schematic-node { font-size: 12px; }
  .ti-page .ti-wizard .ti-progress li,
  .ti-page .ti-wizard .ti-progress li > span { font-size: 12px; }
  .ti-page .ti-wizard .ti-audience-switch label > span { font-size: 13px; white-space: normal; }
  .ti-page .ti-wizard .ti-choice { font-size: 15px; min-height: 48px; }
  .ti-page .ti-wizard .ti-wizard-actions .button { font-size: 15px; }
  .ti-page .ti-wizard .ti-local-line { font-size: 12px; }
}

/* The general IT hero distinguishes Quebec-wide remote help from local visits. */
.ti-hero--hub h1 { max-width: none; }
.ti-hero--hub h1 em {
  display: block;
  max-width: 15ch;
  font-size: clamp(43px, 4.1vw, 60px);
  line-height: 1.08;
}
.ti-hero--hub .ti-service-title {
  max-width: 48ch;
  margin-top: 27px;
  color: #f2f4e9;
  font-size: 17px;
  line-height: 1.5;
}
.ti-hero--hub .ti-lead { max-width: 53ch; margin-top: 14px; }
.ti-hero--hub .ti-appointment { max-width: none; }
.ti-hero--hub .ti-schematic {
  padding: 16px 12px 18px;
  min-height: 150px;
}
.ti-hero--hub .ti-schematic:before { top: 38px; }
.ti-hero--hub .ti-schematic-node {
  gap: 8px;
  padding: 7px 4px;
  border-radius: 8px;
  color: #20332d;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}
.ti-hero--hub .ti-schematic-node:hover,
.ti-hero--hub .ti-schematic-node:focus-visible {
  background: #f2f8efb5;
  transform: translateY(-2px);
}
.ti-hero--hub .ti-schematic-node:focus-visible { outline: 2px solid #365a44; outline-offset: 2px; }
.ti-hero--hub .ti-schematic-label { font-size: 13px; line-height: 1.25; }
.ti-hero--hub .ti-schematic-detail {
  display: block;
  max-width: 15ch;
  color: #496459;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.35;
}
@media (max-width: 600px) {
  .ti-hero--hub h1 em { font-size: clamp(36px, 9vw, 48px); }
  .ti-hero--hub .ti-service-title { font-size: 16px; margin-top: 22px; }
  .ti-hero--hub .ti-schematic { margin: -48px 8px 0; padding: 13px 6px; min-height: 166px; }
  .ti-hero--hub .ti-schematic:before { top: 34px; }
  .ti-hero--hub .ti-schematic-label { font-size: 12px; }
  .ti-hero--hub .ti-schematic-detail { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .ti-hero--hub .ti-schematic-node { transition: none; }
}
