/* Shared with the main website: Rubik Bold and its responsive type scale. */
:root {
  --font-sans: 'Rubik', Arial, sans-serif;
  --support-title-size: clamp(36px, 4.5vw, 60px);
  --support-section-size: clamp(34px, 3.5vw, 50px);
}

body { font-family: var(--font-sans); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-sans); font-weight: 700; }
h1 { overflow-wrap: break-word; }
.article-card { min-width: 0; }
.article-card > div:nth-child(2) { min-width: 0; }

.top-nav { font-size: 18px; font-weight: 700; line-height: 1.5; }
.header-contact, .search-toggle, .button { font-size: 16px; font-weight: 700; }
.support-word { font-weight: 700; }
.brand-logo { display:flex; align-items:center; flex:none; }
#mobile-nav {
  max-height: calc(100dvh - var(--header));
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 16px 24px 24px;
}
#mobile-nav a {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.25;
  padding: 17px 8px;
  border-bottom: 1px solid var(--line);
  overflow-wrap: break-word;
}
.side-title, .side-nav nav > a, .side-tools > a {
  font-size: 18px;
  font-weight: 700;
}
.toc nav a, .journey-list > button { font-weight: 700; }
.footer-main > div > a, .footer-legal a, .footer-legal .cookie-settings-link {
  font-weight: 700;
}

.home-hero h1 {
  font-size: clamp(40px, 4.5vw, 70px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.055em;
}
.page-heading h1, .wide-page .page-heading h1,
.article-heading h1, .support-article > h1 {
  font-size: var(--support-title-size);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.045em;
}
.section-heading h2, .workflow-feature h2, .support-band h2, .journey-heading h2 {
  font-size: var(--support-section-size);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -.045em;
}
.collection-card h3, .article-card h3, .article-list .article-card h3,
.scenario-card h3, .stage-heading h3, .screen-card h2 {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -.025em;
  overflow-wrap: break-word;
}
.role-card strong { font-size: 20px; font-weight: 700; overflow-wrap: anywhere; }
.mini-journey p strong, .journey-steps strong { font-weight: 700; }
.support-article h2, .policy-content h2, .about-page h2,
.role-page-layout > div > h2, .role-menu-panel h2,
.module-detail > h2, .diagnostic h2, #request-builder > h2, .contact-human h2 {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -.03em;
}
.support-article h3, .parameter h3, .map-cluster h2,
.module-detail > h3, .contact-context h3, .request-summary h3 {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.35;
}
.support-article .before-start h2, .support-article .feedback h2 { font-size: 20px; }
.support-article .guide-step h2 { font-size: 24px; }
.search-result h2 { font-size: 28px; font-weight: 700; line-height: 1.3; }

@media (max-width: 900px) and (min-width: 701px) {
  .home-hero h1 { font-size: clamp(40px, 7.5vw, 68px); }
}
@media (max-width: 700px) {
  :root { --support-title-size: 36px; --support-section-size: 34px; }
  .home-hero h1 { font-size: clamp(31px, 8.3vw, 54px); line-height: 1.14; }
}
@media (max-width: 600px) {
  .list-toolbar { flex-wrap: wrap; }
  .list-toolbar label { max-width: 100%; flex-wrap: wrap; }
  .support-article h2, .policy-content h2, .about-page h2 { font-size: 26px; }
  .support-article .before-start h2, .support-article .feedback h2 { font-size: 20px; }
  .support-article .guide-step h2 { font-size: 24px; }
}
@media (max-width: 360px) {
  .home-hero h1 { font-size: 28px; }
}
@media print {
  .article-heading h1, .support-article > h1 { font-size: 26px; }
  .support-article .guide-step h2 { font-size: 16px; }
}

/* Keep the full navigation accessible through the menu on narrower screens. */
@media(max-width:1440px) {
  .top-nav { display:none; }
  .mobile-toggle { display:block; }
}
