/* Shared public layout rhythm. Content can expand on large displays while
   prose and forms retain their own readable widths. */
:root {
  --gutter: clamp(24px, 2.5vw, 48px);
  --public-content-width: 2048px;
  --public-section-space: clamp(40px, 4vw, 80px);
  --public-group-space: clamp(24px, 2.5vw, 48px);
  --public-page-space: clamp(24px, 2.5vw, 44px);
  --public-copy-size: var(--insitu-type-support);
  --public-detail-size: var(--insitu-type-body);
  --public-control-size: var(--insitu-type-control);
  --public-section-title-size: var(--insitu-type-section);
  --public-header-fallback: 128px;
}

.container {
  width: calc(100% - var(--gutter) * 2);
  max-width: var(--public-content-width);
}

/* The photograph keeps its full viewport during the entrance. Once it opens,
   the live hero has no artificial viewport or device-height minimum. */
.hero,
.intro.is-complete .intro-stage {
  min-height: 0;
}

.hero {
  align-items: flex-start;
}

.site-header--platform-nav ~ main .hero {
  padding-top: var(--header-content-height, 96px);
}

.value-proposition {
  column-gap: clamp(24px, 4vw, 72px);
  grid-template-rows: minmax(0, 1fr) auto auto minmax(0, 1fr);
  padding-block: var(--public-page-space) var(--public-section-space);
}

.hero .value-proposition h1 {
  max-width: 1240px;
}

.value-proposition .value-description {
  max-width: 800px;
  margin-top: 24px;
}

.value-proposition .value-orb {
  max-width: 600px;
  justify-self: center;
}

.connection-value,
.platform-v2,
.audience-v2,
.steps-section,
.faq-section,
.closing-section,
.international-section,
.sectors-section {
  padding-block: var(--public-section-space);
}

#sectores {
  padding-top: var(--public-group-space);
}

.platform-v2-intro,
.international-layout,
.faq-layout {
  column-gap: clamp(28px, 4vw, 72px);
}

.platform-v2-intro,
.steps-heading {
  margin-bottom: var(--public-group-space);
}

.platform-v2-intro > p {
  max-width: 540px;
}

.stamp-gallery {
  --stamp-width: 420px;
  --stamp-spacing: 400px;
  max-width: 1560px;
}

.stamp-stage {
  min-height: 0;
}

.stamp-gallery.is-ready .stamp-stage {
  height: var(--stamp-stage-height, 560px);
}

.audience-v2 .av2-tabs {
  margin-block: 28px;
}

.audience-v2 .av2-panel {
  column-gap: clamp(28px, 4vw, 72px);
}

.audience-v2 .av2-image-window {
  aspect-ratio: 1.5;
}

.audience-v2 .av2-copy h3,
.audience-v2 .av2-description,
.audience-v2 .av2-benefits {
  max-width: 720px;
}

.steps-action {
  margin-top: 32px;
}

.steps-section .steps-list {
  --step-pad: clamp(20px, 2vw, 32px);
}

.steps-section .steps-list > li,
.steps-section .steps-list > li + li {
  padding-block: 24px 28px;
}

.steps-section .steps-list .steps-number {
  margin-bottom: 24px;
}

.steps-section .steps-list .step-icon {
  top: 28px;
}

.steps-section .steps-list p {
  max-width: 520px;
}

.closing-content h2 {
  margin-block: 24px 28px;
}

.complete-footer-content {
  padding-top: var(--public-group-space);
}

.complete-footer-grid {
  gap: clamp(24px, 3vw, 48px);
  padding-bottom: 32px;
}

.complete-footer-brand > p {
  max-width: 32ch;
}

/* Page openings use the measured shared header rather than a laptop-specific
   amount of empty space. Header scripts already update these page variables. */
.pricing-main {
  padding-top: calc(var(--pricing-header-height) + var(--public-page-space));
}

.pricing-intro {
  max-width: 1360px;
}

.billing-controls {
  margin-top: 24px;
}

.pricing-plans {
  max-width: 1560px;
  align-items: stretch;
  gap: clamp(16px, 1.5vw, 28px);
  margin-top: 44px;
}

.price-card {
  min-height: 0;
  padding: 28px clamp(22px, 2vw, 36px) 26px;
}

.price-card--featured {
  min-height: 0;
  margin-top: -16px;
  padding-top: 44px;
}

.price-card-description {
  max-width: 38ch;
}

.price-value {
  margin-top: 22px;
  min-height: 96px;
}

.price-features {
  gap: 10px;
  margin-bottom: 24px;
}

.pricing-help {
  max-width: 1560px;
  margin-block: var(--public-group-space) var(--public-section-space);
  padding-top: 24px;
}

.download-hero {
  padding-top: calc(var(--download-header-height) + var(--public-page-space));
}

.download-scene {
  margin-top: var(--public-group-space);
  padding-block: var(--public-group-space);
}

.download-showcase {
  max-width: 1680px;
  column-gap: clamp(28px, 4vw, 64px);
}

.download-caption {
  max-width: 360px;
  margin-top: 0;
}

.download-web-note {
  margin-top: 28px;
}

.contact-main {
  padding-top: calc(var(--contact-header-height) + var(--public-page-space));
}

.contact-heading {
  max-width: 1380px;
}

.contact-stage {
  margin-top: var(--public-group-space);
  padding-block: var(--public-group-space) var(--public-section-space);
}

.contact-layout {
  max-width: 1600px;
  gap: clamp(28px, 4vw, 64px);
}

.contact-team-copy > p,
.contact-help,
.contact-help p {
  max-width: 600px;
}

.contact-form-panel {
  padding: clamp(24px, 2.5vw, 36px);
}

.faq-page-section {
  padding: calc(var(--faq-header-height) + var(--public-page-space)) 0 var(--public-section-space);
}

.faq-page .faq-layout {
  max-width: 1560px;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
}

.faq-category + .faq-category {
  margin-top: 32px;
}

.faq-answer p {
  max-width: 68ch;
}

/* Legal text stays in a reading column even on an ultrawide screen. */
@media screen {
  .legal-hero {
    padding-top: calc(var(--legal-header-height) + var(--public-page-space));
  }

  .legal-hero > .container,
  .legal-layout {
    max-width: 1560px;
  }

  .legal-heading {
    gap: var(--public-group-space);
    padding-block: 16px 32px;
  }

  .legal-layout {
    grid-template-columns: minmax(240px, 320px) minmax(0, 960px);
    justify-content: center;
    gap: clamp(24px, 4vw, 64px);
    padding-block: var(--public-group-space) var(--public-section-space);
  }

  .legal-document section {
    margin-top: 32px;
  }

  .legal-document section[data-level="2"] {
    margin-top: 44px;
    padding-top: 28px;
  }
}

@media (min-width: 1600px) {
  .stamp-gallery {
    --stamp-spacing: 464px;
  }
}

/* Compact screens retain a second row so navigation and account actions fit. */
@media (min-width: 701px) and (max-width: 1200px) {
  .site-header--platform-nav .header-inner {
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 128px;
    gap: 6px 16px;
    padding-block: 10px;
  }

  .site-header--platform-nav .brand {
    grid-column: 1;
    grid-row: 1;
  }

  .site-header--platform-nav .header-actions {
    grid-column: 2;
    grid-row: 1;
  }

  .site-header--platform-nav .platform-navigation {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

@media (max-width: 1000px) {
  .price-card,
  .price-card--featured {
    padding-inline: 20px;
  }

  .contact-fields-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

@media (max-width: 820px) and (min-width: 701px) {
  .price-card {
    padding-inline: 16px;
  }

  .price-card-description,
  .price-card-header {
    min-height: 0;
  }
}

@media (max-width: 760px) {
  .audience-v2 .av2-image-window {
    aspect-ratio: 1.55;
  }

  .contact-layout {
    max-width: 640px;
  }

  .contact-fields-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .download-showcase {
    max-width: 640px;
    row-gap: 28px;
  }

  .legal-layout {
    display: block;
  }
}

@media (max-width: 700px) {
  :root {
    --gutter: 16px;
  }

  .site-header--platform-nav ~ main .hero {
    padding-top: var(--header-content-height, 76px);
  }

  .value-proposition {
    padding-block: 24px 32px;
  }

  .value-proposition .value-description {
    margin-top: 16px;
  }

  .value-proposition .value-orb {
    width: clamp(240px, 48vw, 300px);
    margin-top: 16px;
  }

  .hero .value-proposition h1 {
    max-width: 600px;
  }

  .audience-v2 .av2-tabs {
    margin-block: 24px;
  }

  .steps-heading h2 {
    font-size: var(--insitu-type-title);
  }

  .faq-layout,
  .faq-page .faq-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .pricing-plans {
    gap: 18px;
    margin-top: 28px;
    max-width: 640px;
  }

  .price-card,
  .price-card--featured {
    margin-top: 0;
    padding: 24px;
  }

  .price-card--featured {
    padding-top: 42px;
  }

  .price-value {
    min-height: 0;
  }

  .complete-footer-grid {
    gap: 24px;
    padding-bottom: 28px;
  }
}

@media (max-width: 480px) {
  .header-inner,
  .contact-layout {
    width: calc(100% - var(--gutter) * 2);
  }

  .contact-fields-row {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .contact-form-panel,
  .price-card,
  .price-card--featured {
    padding-inline: 20px;
  }

  .contact-team-copy,
  .contact-help {
    margin-inline: 0;
  }

  .complete-footer-brand {
    gap: 16px;
  }

  .complete-footer-logo {
    width: 110px;
  }
}

/* One larger type and control scale for all public pages. The content itself
   grows; the compact section rhythm above remains independent of its size. */
@media screen {
  html {
    scroll-padding-top: calc(var(--header-content-height, var(--public-header-fallback)) + 20px);
  }

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

  .button,
  .audience-v2 .av2-register,
  .price-card-cta .button,
  .contact-submit,
  .contact-preview-result .button {
    min-height: 70px;
    padding: 18px 34px;
    font-size: var(--insitu-type-control);
    white-space: normal;
    text-align: center;
  }

  .text-link,
  .faq-answer .text-link,
  .contact-help a,
  .pricing-help-links,
  .faq-topic-nav a {
    min-height: 52px;
    font-size: var(--insitu-type-control);
  }

  .eyebrow,
  .hero .eyebrow,
  .international-copy > .eyebrow,
  .sector-heading > span {
    font-size: var(--insitu-type-label);
  }

  .brand,
  .brand img {
    width: 176px;
  }

  .brand {
    height: 100px;
  }

  .site-header--platform-nav .header-inner {
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 128px;
    gap: 12px 24px;
  }

  .site-header .header-login,
  .site-header .header-actions .header-create-account,
  .platform-navigation a {
    min-height: 62px;
    font-size: var(--public-control-size);
    padding: 14px 24px;
  }

  .site-header .header-login {
    padding-inline: 4px;
  }

  .language-toggle {
    min-width: 100px;
    min-height: 62px;
    padding: 12px 18px;
    font-size: 18px;
    gap: 9px;
  }

  .language-globe,
  .language-search-icon,
  .language-option-check {
    width: 25px;
    height: 25px;
  }

  .language-popup {
    width: 320px;
  }

  .language-search {
    height: 62px;
    font-size: 20px;
  }

  .language-option {
    min-height: 68px;
  }

  .language-option-code,
  .language-option-english {
    font-size: 17px;
  }

  .language-option-native,
  .language-empty {
    font-size: 20px;
  }

  .skip-intro {
    min-height: 54px;
    padding: 13px 25px;
    font-size: var(--insitu-type-caption);
  }

  .scroll-mark {
    width: 14px;
    height: 22px;
  }

  .scroll-mark::after {
    left: 5px;
    width: 2px;
    height: 6px;
  }

  .hero .value-proposition h1 {
    font-size: var(--insitu-type-title);
    letter-spacing: -.04em;
  }

  .value-proposition {
    grid-template-columns: minmax(0, 1.65fr) minmax(300px, .85fr);
  }

  .value-proposition .value-description,
  .platform-v2-intro > p,
  .audience-v2 .av2-introduction,
  .audience-v2 .av2-description,
  .international-copy > p:not(.eyebrow),
  .steps-section .steps-list p,
  .faq-intro > p:last-child,
  .faq-answer p,
  .pricing-intro > p,
  .download-description,
  .contact-heading > p,
  .contact-team-copy > p,
  .contact-form-heading p,
  .contact-preview-result p {
    font-size: var(--public-copy-size);
    line-height: 1.5;
  }

  #sectores .sector-heading h2 {
    max-width: 900px;
    font-size: var(--insitu-type-title);
  }

  .sector-accordion {
    height: clamp(510px, 38vw, 600px);
    gap: 14px;
  }

  .sector-number {
    font-size: 14px;
  }

  .sector-label {
    font-size: var(--insitu-type-card);
  }

  .sector.is-active .sector-label {
    bottom: 102px;
    font-size: var(--insitu-type-card);
  }

  .sector-caption {
    max-width: 380px;
    font-size: var(--insitu-type-body);
  }

  .platform-v2-intro h2,
  .audience-v2 #av2-title,
  .steps-heading h2,
  .international-copy h2 {
    max-width: 1100px;
    font-size: var(--insitu-type-title);
    letter-spacing: -.04em;
  }

  .audience-v2 .av2-heading {
    max-width: 1120px;
  }

  .cv-title {
    font-size: var(--insitu-type-title);
  }

  .feature-visual {
    padding: 22px;
    gap: 18px;
  }

  .feature-visual:is(.feature-profile, .feature-favorites) {
    gap: 12px;
  }

  .stamp-paper {
    padding: 18px 18px 30px;
  }

  .stamp-name {
    font-size: var(--insitu-type-card);
  }

  .stamp-role {
    font-size: var(--insitu-type-body);
  }

  .feature-label,
  .feature-connection {
    font-size: var(--insitu-type-label);
  }

  .feature-footnote,
  .feature-review-details > span:last-child {
    font-size: var(--insitu-type-caption);
  }

  .feature-icon {
    width: 32px;
    height: 32px;
  }

  .feature-stars .feature-icon {
    width: 42px;
    height: 42px;
  }

  .feature-portfolio-note {
    font-size: var(--insitu-type-card);
  }

  .feature-editorial {
    font-size: var(--insitu-type-card);
  }

  .feature-review-details,
  .feature-person-name,
  .feature-saved-row .feature-person-name {
    font-size: 18px;
  }

  .feature-avatar {
    width: 64px;
    height: 64px;
    padding: 12px;
  }

  .feature-profile-title {
    font-size: var(--insitu-type-card);
  }

  .feature-field-label,
  .feature-person-detail,
  .feature-search-filters {
    font-size: 13px;
  }

  .feature-field-value {
    font-size: var(--insitu-type-body);
  }

  .feature-search {
    font-size: var(--insitu-type-control);
    padding: 15px 13px;
  }

  .feature-search .feature-icon,
  .feature-connection .feature-icon {
    width: 24px;
    height: 24px;
  }

  .feature-person-icon {
    width: 52px;
    height: 52px;
    padding: 9px;
    flex-shrink: 0;
  }

  .feature-chat-message {
    font-size: var(--insitu-type-body);
    padding: 20px;
  }

  .feature-saved-heading > .feature-icon {
    width: 28px;
    height: 28px;
  }

  .feature-saved-mark {
    width: 20px;
    height: 23px;
  }

  .stamp-pagination button {
    width: 40px;
    height: 52px;
  }

  .stamp-pagination button span {
    width: 7px;
    height: 7px;
  }

  .stamp-pagination button[aria-pressed="true"] span {
    width: 24px;
  }

  .audience-v2 .av2-tab {
    min-height: 86px;
    padding: 18px 22px;
  }

  .audience-v2 .av2-tab-name {
    font-size: var(--insitu-type-card);
  }

  .audience-v2 .av2-copy h3 {
    font-size: var(--insitu-type-card);
  }

  .audience-v2 .av2-benefits li {
    font-size: var(--insitu-type-body);
  }

  .audience-v2 .av2-benefits li::before {
    width: 7px;
    height: 7px;
  }

  .globe-stage {
    max-width: 720px;
  }

  .steps-section .steps-list .steps-number {
    font-size: 62px;
  }

  .steps-section .steps-list .step-icon {
    width: 38px;
    height: 38px;
  }

  .steps-section .steps-list h3 {
    font-size: var(--insitu-type-card);
  }

  .steps-action > p,
  .closing-support {
    font-size: var(--insitu-type-caption);
  }

  .faq-intro h2,
  .faq-page-intro h1 {
    max-width: 620px;
    font-size: var(--insitu-type-title);
    letter-spacing: -.04em;
  }

  .faq-page-intro,
  .faq-page-description {
    max-width: 600px;
  }

  .faq-page-description {
    font-size: var(--insitu-type-support);
  }

  .faq-item summary {
    font-size: var(--insitu-type-control);
    line-height: 1.5;
    padding-block: 28px;
  }

  .faq-icon {
    flex-basis: 22px;
    width: 22px;
    height: 22px;
  }

  .faq-icon::before,
  .faq-icon::after {
    top: 10px;
    width: 22px;
  }

  .faq-category > h2 {
    font-size: var(--insitu-type-card);
    max-width: 700px;
  }

  .closing-content h2 {
    max-width: 1500px;
    font-size: var(--insitu-type-title);
    letter-spacing: -.04em;
  }

  .pricing-intro h1,
  .download-copy h1,
  .contact-heading h1,
  .legal-heading h1 {
    font-size: var(--insitu-type-title);
    letter-spacing: -.035em;
  }

  .download-copy h1 {
    max-width: 1400px;
  }

  .pricing-intro > p,
  .download-description {
    max-width: 800px;
  }

  .billing-switch {
    font-size: var(--insitu-type-control);
    min-height: 58px;
    gap: 17px;
  }

  .billing-switch input {
    width: 62px;
    height: 36px;
  }

  .billing-switch input::after {
    width: 28px;
    height: 28px;
  }

  .billing-switch input:checked::after {
    transform: translateX(26px);
  }

  .pricing-region,
  .price-card-badge {
    font-size: var(--insitu-type-label);
  }

  .price-card h2 {
    font-size: var(--insitu-type-card);
  }

  .price-upcoming {
    font-size: var(--insitu-type-caption);
  }

  .price-card-description,
  .price-features,
  .pricing-help p,
  .contact-help p {
    font-size: var(--insitu-type-body);
  }

  .price-amount,
  .price-loading {
    font-size: 86px;
  }

  .price-currency {
    font-size: 44px;
  }

  .price-interval,
  .price-billing-detail,
  .price-saving,
  .price-cta-note,
  .pricing-terms {
    font-size: var(--insitu-type-caption);
  }

  .price-features-heading {
    font-size: var(--insitu-type-label);
  }

  .price-features svg {
    width: 23px;
    height: 23px;
    margin-top: 4px;
  }

  .price-card-header {
    flex-wrap: wrap;
  }

  .price-card--featured {
    padding-top: 52px;
  }

  .pricing-help h2,
  .download-caption h2,
  .contact-team-copy h2,
  .contact-form-heading h2 {
    font-size: var(--insitu-type-card);
  }

  .download-store {
    min-width: 300px;
    min-height: 88px;
    gap: 18px;
  }

  .download-store img {
    width: 34px;
    height: 39px;
  }

  .download-store strong {
    font-size: var(--insitu-type-control);
  }

  .download-store small {
    font-size: var(--insitu-type-caption);
  }

  .download-showcase {
    grid-template-columns: minmax(0, 1fr) 460px minmax(0, 1fr);
  }

  .download-caption p {
    font-size: var(--insitu-type-body);
  }

  .download-web-note {
    font-size: var(--insitu-type-body);
  }

  .contact-email {
    font-size: var(--insitu-type-control);
  }

  .contact-conversation {
    max-width: 580px;
  }

  .contact-help h3 {
    font-size: var(--insitu-type-card);
  }

  .contact-required,
  .contact-privacy,
  .contact-field label,
  .contact-message-label > span {
    font-size: 16px;
  }

  .contact-field input,
  .contact-field select,
  .contact-field textarea {
    min-height: 74px;
    padding: 18px 20px;
    font-size: var(--insitu-type-control);
  }

  .contact-field textarea {
    min-height: 210px;
  }

  .contact-select-wrap::after {
    top: 32px;
    width: 9px;
    height: 9px;
  }

  .contact-error {
    font-size: var(--insitu-type-caption);
  }

  .contact-send-error {
    font-size: var(--insitu-type-caption);
  }

  .contact-preview-result h3 {
    font-size: var(--insitu-type-card);
  }

  .contact-feedback-state {
    max-width: 500px;
  }

  .contact-feedback-icon,
  .contact-feedback-icon svg {
    width: 104px;
    height: 104px;
  }

  #contact-send-icon {
    width: 146px;
    height: 146px;
  }

  .legal-home,
  .legal-print,
  .legal-documents a,
  .legal-documents button,
  .legal-index-title {
    min-height: 52px;
    font-size: 17px;
  }

  .legal-meta,
  .legal-toc a,
  .legal-safety,
  .legal-end a {
    font-size: 20px;
  }

  .legal-reading {
    max-width: 960px;
  }

  .legal-document {
    font-size: var(--insitu-type-body);
    line-height: 1.65;
  }

  .legal-document h2 {
    font-size: var(--insitu-type-card);
  }

  .legal-document h3 {
    font-size: var(--insitu-type-subtitle);
  }

  .legal-document h4 {
    font-size: var(--insitu-type-label);
  }

  .legal-mobile-index summary {
    font-size: var(--insitu-type-control);
    min-height: 64px;
  }

  .complete-footer-logo {
    width: 200px;
    flex-shrink: 0;
  }

  .complete-footer-brand > p,
  .complete-footer-column a,
  .complete-footer-column button {
    font-size: var(--public-detail-size);
  }

  .complete-footer-column a,
  .complete-footer-column button {
    min-height: 52px;
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .complete-footer-grid > *,
  .complete-footer-column li {
    min-width: 0;
  }

  .complete-footer-column h2 {
    font-size: var(--insitu-type-label);
  }

  .complete-footer-bottom {
    font-size: var(--insitu-type-caption);
  }

  .complete-footer-status {
    font-size: var(--insitu-type-body);
  }

  .complete-footer-funding-copy {
    max-width: 840px;
    font-size: var(--insitu-type-caption);
  }

  .complete-footer-funding-partners .funding-eu { width: 230px; }
  .complete-footer-funding-partners .funding-government { width: 330px; }
  .complete-footer-funding-partners .funding-red { width: 130px; }
  .complete-footer-funding-partners .funding-recovery { width: 158px; }
  .complete-footer-funding-partners .funding-kit { width: 200px; }

  .footer-cookie-dialog {
    width: min(840px, calc(100% - 40px));
  }

  .footer-cookie-dialog h2 {
    max-width: 600px;
    font-size: var(--insitu-type-card);
  }

  .footer-cookie-dialog > p {
    font-size: var(--insitu-type-body);
  }

  .footer-cookie-dialog .footer-cookie-prototype,
  .footer-cookie-option p {
    font-size: 18px;
  }

  .footer-cookie-option > div {
    max-width: 530px;
  }

  .footer-cookie-option .footer-cookie-option-title {
    font-size: var(--insitu-type-label);
  }

  .footer-cookie-option input {
    width: 60px;
    height: 36px;
  }

  .footer-cookie-option input::after {
    width: 28px;
    height: 28px;
    top: 4px;
    left: 4px;
  }

  .footer-cookie-option input:checked::after {
    transform: translateX(24px);
  }

  .footer-cookie-required {
    max-width: 126px;
    font-size: var(--insitu-type-caption);
  }

  .footer-cookie-action,
  .footer-cookie-save {
    min-height: 70px;
    font-size: var(--insitu-type-control);
  }

  .footer-cookie-policy,
  .footer-cookie-close {
    font-size: var(--insitu-type-control);
    min-height: 52px;
  }
}

/* Larger words and controls need a second header row before they collide. */
@media screen and (min-width: 701px) and (max-width: 1200px) {
  :root {
    --public-header-fallback: 186px;
  }

  .site-header--platform-nav .header-inner {
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 186px;
    gap: 6px 20px;
  }
}

@media screen and (max-width: 1200px) {
  .value-proposition {
    grid-template-columns: minmax(0, 1.7fr) minmax(220px, .8fr);
  }

  .hero .value-proposition h1 {
    font-size: var(--insitu-type-title);
  }

  .platform-v2-intro,
  .faq-layout,
  .faq-page .faq-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .platform-v2-intro > p {
    max-width: 800px;
    margin-top: 0;
  }

  .faq-page-intro {
    position: static;
  }

  .faq-topic-nav {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 4px 24px;
  }

  .stamp-gallery {
    --stamp-width: 380px;
    --stamp-spacing: 364px;
  }

  .audience-v2 .av2-panel {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .audience-v2 .av2-visual {
    width: 100%;
  }

  .audience-v2 .av2-image-window {
    aspect-ratio: 1.65;
  }

  .audience-v2 .av2-copy h3,
  .audience-v2 .av2-description,
  .audience-v2 .av2-benefits {
    max-width: 820px;
  }

  .pricing-plans {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 1000px;
    gap: 24px;
  }

  .price-card--featured {
    margin-top: 0;
  }

  .download-showcase {
    grid-template-columns: minmax(0, 1fr) 420px minmax(0, 1fr);
    column-gap: 28px;
  }

  .download-caption h2 {
    font-size: var(--insitu-type-card);
  }

  .complete-footer-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .complete-footer-brand {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 32px;
  }

  .complete-footer-brand > p {
    margin-top: 0;
  }
}

@media screen and (max-width: 1000px) {
  .international-layout,
  .contact-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .international-copy h2 {
    max-width: 900px;
  }

  .international-copy > p:not(.eyebrow) {
    max-width: 800px;
  }

  .international-visual {
    width: 100%;
  }

  .globe-stage {
    max-width: 600px;
  }

  .steps-section .steps-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .steps-section .steps-list > li + li {
    border-left: 0;
    border-top: 1px solid var(--step-line);
  }

  .steps-section .steps-list p {
    max-width: 800px;
  }

  .contact-details {
    display: contents;
  }

  .contact-form-panel {
    grid-column: 1;
    grid-row: 1;
  }

  .contact-team-copy {
    grid-row: 2;
  }

  .contact-conversation {
    grid-row: 3;
    width: 100%;
    margin: 0 auto;
  }

  .contact-help {
    grid-row: 4;
    max-width: none;
  }

  .contact-layout {
    max-width: 800px;
  }

  .contact-fields-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  .download-showcase {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 800px;
    row-gap: 28px;
  }

  .download-device-wrap {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 420px;
    max-width: 100%;
    justify-self: center;
  }

  .download-caption--left,
  .download-caption--right {
    grid-row: 2;
    justify-self: start;
  }

  .download-caption--left { grid-column: 1; }
  .download-caption--right { grid-column: 2; }

  .legal-layout {
    display: block;
  }

  .legal-sidebar {
    display: none;
  }

  .legal-mobile-index {
    display: block;
  }
}

@media screen and (max-width: 700px) {
  :root {
    --public-copy-size: var(--insitu-type-support);
    --public-detail-size: var(--insitu-type-body);
    --public-control-size: var(--insitu-type-control);
    --public-section-title-size: var(--insitu-type-section);
    --public-header-fallback: 110px;
  }

  .site-header--platform-nav .header-inner {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 110px;
    gap: 8px 16px;
  }

  .brand,
  .brand img {
    width: 124px;
  }

  .brand { height: 82px; }

  .site-header--platform-nav .menu-toggle {
    width: 62px;
    height: 62px;
  }

  .menu-toggle svg {
    width: 36px;
    height: 36px;
  }

  .site-header--platform-nav.is-menu-open .platform-navigation a {
    min-height: 66px;
    font-size: 20px;
  }

  .site-header--platform-nav.is-menu-open .header-actions {
    flex-wrap: wrap;
    gap: 12px;
  }

  .site-header .header-login,
  .site-header .header-actions .header-create-account {
    min-height: 60px;
    padding: 14px 18px;
    font-size: 18px;
    white-space: normal;
  }

  .site-header .language-toggle {
    min-width: 100px;
    min-height: 60px;
    font-size: 18px;
    padding-inline: 16px;
    gap: 9px;
  }

  .value-proposition {
    display: block;
  }

  .hero .value-proposition h1 {
    font-size: var(--insitu-type-title);
  }

  .hero .value-proposition h1 br {
    display: none;
  }

  #sectores .sector-heading h2 {
    font-size: var(--insitu-type-title);
  }

  .sector-accordion {
    height: calc(420px + 6 * 76px);
    gap: 10px;
  }

  .sector {
    min-height: 66px;
  }

  .sector-number {
    top: 24px;
    font-size: 12px;
  }

  .sector-label {
    left: 58px;
    top: 22px;
    font-size: var(--insitu-type-card);
  }

  .sector.is-active .sector-label {
    top: auto;
    bottom: 104px;
    left: 21px;
    font-size: var(--insitu-type-card);
  }

  .sector-caption {
    font-size: var(--insitu-type-body);
    max-width: 380px;
  }

  .cv-title {
    font-size: var(--insitu-type-title);
  }

  .stamp-gallery {
    --stamp-width: min(360px, calc(100vw - 32px));
    --stamp-spacing: 328px;
  }

  .feature-visual {
    padding: 20px;
    gap: 16px;
  }

  .stamp-paper {
    padding: 14px 14px 24px;
  }

  .stamp-name {
    font-size: var(--insitu-type-card);
  }

  .stamp-role {
    font-size: var(--insitu-type-body);
  }

  .feature-editorial {
    font-size: var(--insitu-type-card);
  }

  .feature-portfolio-note {
    font-size: var(--insitu-type-card);
  }

  .feature-avatar {
    width: 56px;
    height: 56px;
    padding: 10px;
  }

  .feature-profile-title {
    font-size: var(--insitu-type-card);
  }

  .feature-field-value {
    font-size: var(--insitu-type-body);
  }

  .feature-person-name,
  .feature-saved-row .feature-person-name {
    font-size: var(--insitu-type-label);
  }

  .feature-chat-message {
    font-size: var(--insitu-type-body);
    padding: 15px;
  }

  .feature-results {
    gap: 14px;
  }

  .feature-search-filters {
    flex-wrap: wrap;
    font-size: var(--insitu-type-caption);
  }

  .audience-v2 .av2-tabs {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }

  .audience-v2 .av2-tab {
    min-height: 64px;
    padding: 15px 18px;
  }

  .audience-v2 .av2-tab-name {
    font-size: var(--insitu-type-card);
  }

  .audience-v2 .av2-copy h3 {
    font-size: var(--insitu-type-card);
  }

  .audience-v2 .av2-image-window {
    aspect-ratio: 1.35;
  }

  .international-copy h2 {
    font-size: var(--insitu-type-title);
  }

  .globe-stage {
    max-width: 540px;
  }

  .steps-section .steps-list .steps-number {
    font-size: 50px;
  }

  .steps-section .steps-list h3 {
    font-size: var(--insitu-type-card);
  }

  .faq-intro h2,
  .faq-page-intro h1 {
    font-size: var(--insitu-type-title);
  }

  .faq-item summary {
    font-size: var(--insitu-type-control);
    gap: 20px;
    padding-block: 24px;
  }

  .faq-category > h2 {
    font-size: var(--insitu-type-card);
  }

  .faq-topic-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .faq-topic-nav a {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .faq-answer {
    padding-inline-end: 0;
  }

  .closing-content h2 {
    font-size: var(--insitu-type-title);
  }

  .pricing-intro h1,
  .download-copy h1,
  .contact-heading h1,
  .legal-heading h1 {
    font-size: var(--insitu-type-title);
  }

  .pricing-plans {
    display: flex;
    flex-direction: column;
    max-width: 640px;
  }

  .price-card h2 {
    font-size: var(--insitu-type-card);
  }

  .price-amount,
  .price-loading {
    font-size: 82px;
  }

  .price-card--featured {
    padding-top: 52px;
  }

  .price-features {
    font-size: var(--insitu-type-body);
  }

  .price-interval,
  .price-billing-detail,
  .price-saving,
  .price-cta-note,
  .pricing-terms {
    font-size: var(--insitu-type-caption);
  }

  .pricing-help h2,
  .contact-team-copy h2,
  .contact-form-heading h2 {
    font-size: var(--insitu-type-card);
  }

  .download-actions {
    display: flex;
    max-width: 620px;
    gap: 12px;
  }

  .download-store {
    width: 100%;
    min-width: 0;
    max-width: 340px;
    min-height: 84px;
    padding: 14px 24px;
    border-radius: 999px;
  }

  .download-device-wrap {
    width: 420px;
    max-width: 100%;
  }

  .download-showcase {
    grid-template-columns: minmax(0, 1fr);
    max-width: 640px;
  }

  .download-caption--left,
  .download-caption--right {
    grid-column: 1;
  }

  .download-caption--left { grid-row: 2; }
  .download-caption--right { grid-row: 3; }

  .download-caption {
    max-width: none;
  }

  .download-caption h2 {
    font-size: var(--insitu-type-card);
  }

  .download-web-note {
    font-size: var(--insitu-type-body);
  }

  .contact-fields-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .contact-preview-result h3 {
    font-size: var(--insitu-type-card);
  }

  .contact-conversation {
    max-width: 420px;
  }

  .legal-document h2 {
    font-size: var(--insitu-type-card);
  }

  .legal-document h3 {
    font-size: var(--insitu-type-subtitle);
  }

  .legal-meta {
    font-size: var(--insitu-type-caption);
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .legal-documents {
    gap: 0 18px;
  }

  .legal-documents a,
  .legal-documents button {
    font-size: var(--insitu-type-control);
  }

  .complete-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }

  .complete-footer-brand {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

  .complete-footer-logo {
    width: 160px;
  }

  .complete-footer-column h2 {
    font-size: var(--insitu-type-label);
  }

  .complete-footer-bottom {
    flex-wrap: wrap;
    font-size: var(--insitu-type-caption);
  }

  .complete-footer-funding-partners .funding-eu { width: 191px; }
  .complete-footer-funding-partners .funding-government { width: min(274px, 100%); }
  .complete-footer-funding-partners .funding-red { width: 108px; }
  .complete-footer-funding-partners .funding-recovery { width: 133px; }
  .complete-footer-funding-partners .funding-kit { width: 166px; }

  .footer-cookie-dialog {
    width: calc(100% - 28px);
    padding: 20px 22px 26px;
  }

  .footer-cookie-dialog h2 {
    font-size: var(--insitu-type-card);
  }

  .footer-cookie-option > div {
    max-width: calc(100% - 76px);
  }

  .footer-cookie-option .footer-cookie-option-title {
    font-size: var(--insitu-type-label);
  }

  .footer-cookie-options {
    min-width: 0;
  }

  .footer-cookie-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .footer-cookie-required {
    max-width: 66px;
    font-size: var(--insitu-type-caption);
  }
}

@media screen and (max-width: 380px) {
  :root {
    --public-copy-size: var(--insitu-type-support);
    --public-detail-size: var(--insitu-type-body);
  }

  .feature-visual {
    padding: 14px;
    gap: 12px;
  }

  .feature-label,
  .feature-connection {
    font-size: var(--insitu-type-label);
  }

  .feature-footnote,
  .feature-review-details > span:last-child {
    font-size: var(--insitu-type-caption);
  }

  .feature-editorial {
    font-size: var(--insitu-type-card);
  }

  .feature-profile-title,
  .feature-portfolio-note {
    font-size: var(--insitu-type-card);
  }

  .feature-field-label,
  .feature-person-detail,
  .feature-search-filters {
    font-size: 11px;
  }

  .feature-field-value,
  .feature-person-name,
  .feature-saved-row .feature-person-name {
    font-size: 16px;
  }

  .feature-person-icon {
    width: 42px;
    height: 42px;
  }

  .feature-search {
    font-size: var(--insitu-type-control);
    padding: 11px 9px;
  }

  .feature-chat-message {
    font-size: var(--insitu-type-body);
    padding: 12px;
  }

  .feature-review-details {
    font-size: var(--insitu-type-caption);
  }

  .feature-stars {
    gap: 7px;
  }

  .feature-stars .feature-icon {
    width: 28px;
    height: 28px;
  }

  .stamp-role {
    font-size: var(--insitu-type-body);
  }

  .contact-email {
    font-size: var(--insitu-type-control);
  }

  .complete-footer-grid,
  .complete-footer-legal ul {
    column-gap: 18px;
  }
}

/* Header geometry grows with the type while laptops retain their own scale
   and small screens keep the existing mobile menu. */
@media screen and (min-width: 1201px) and (max-width: 1919px) {
  .site-header .brand,
  .site-header .brand img {
    width: 158px;
  }

  .site-header .brand { height: 90px; }

  .site-header .header-login,
  .site-header .header-actions .header-create-account,
  .site-header .platform-navigation a {
    min-height: 56px;
    padding: 12px 22px;
    font-size: 19px;
  }

  .site-header .platform-navigation a { font-size: 19.5px; }

  .site-header .header-login { padding-inline: 4px; }

  .site-header .language-toggle {
    min-width: 92px;
    min-height: 56px;
    padding: 11px 16px;
    font-size: 19px;
  }

  .site-header .language-globe { width: 23px; height: 23px; }
}

/* Desktop navigation shares the logo/account row. Reserve their real widths
   and allow longer translated navigation labels to wrap within the capsule. */
@media screen and (min-width: 1201px) {
  .site-header--platform-nav .header-inner {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .site-header--platform-nav .brand { grid-column: 1; grid-row: 1; }

  .site-header--platform-nav .platform-navigation {
    grid-column: 2;
    grid-row: 1;
    max-width: 100%;
    min-width: 0;
  }

  .site-header--platform-nav .platform-navigation a {
    min-width: min-content;
    white-space: normal;
    overflow-wrap: normal;
    text-align: center;
  }

  .site-header--platform-nav .header-actions {
    grid-column: 3;
    grid-row: 1;
    flex-wrap: nowrap;
  }
}

@media screen and (min-width: 1201px) and (max-width: 1919px) {
  :root { --public-header-fallback: 116px; }
  .site-header--platform-nav .header-inner { min-height: 116px; }
}

@media screen and (min-width: 1201px) and (max-width: 1360px) {
  .site-header .platform-navigation { gap: 2px; padding: 3px; }
  .site-header .platform-navigation a { padding-inline: 8px; }
  .site-header .header-actions .header-create-account { max-width: 210px; white-space: normal; text-align: center; }
}

@media screen and (min-width: 1920px) {
  :root {
    --public-header-fallback: clamp(216px, calc(9.0625vw + 42px), 274px);
  }

  .site-header {
    --public-header-logo-width: clamp(296px, calc(15.4167vw), 394px);
    --public-header-control-height: clamp(94px, calc(3.4375vw + 28px), 116px);
    --public-header-action-size: clamp(31.5px, calc(1.015625vw + 12px), 38px);
    --public-header-icon-size: clamp(43px, calc(1.71875vw + 10px), 54px);
  }

  .site-header .header-inner {
    width: calc(100% - 64px);
    max-width: 2688px;
    min-height: var(--public-header-fallback);
    gap: clamp(20px, calc(1.875vw - 16px), 32px);
  }

  .site-header .brand,
  .site-header .brand img {
    width: var(--public-header-logo-width);
  }

  .site-header .brand { height: clamp(168px, calc(8.75vw), 224px); }
  .site-header .header-actions { gap: clamp(18px, calc(.9375vw), 24px); }
  .site-header .platform-navigation {
    max-width: 100%;
    min-width: 0;
    align-items: stretch;
    padding: clamp(7px, calc(.3125vw + 1px), 9px);
    gap: clamp(6px, calc(.3125vw), 8px);
  }

  .site-header .header-login,
  .site-header .header-actions .header-create-account {
    min-height: var(--public-header-control-height);
    padding: clamp(16px, calc(.9375vw - 2px), 22px) clamp(24px, calc(.9375vw + 6px), 30px);
    font-size: var(--public-header-action-size);
  }

  .site-header .header-actions .header-create-account {
    max-width: clamp(290px, 15.1042vw, 386px);
    white-space: normal;
    text-align: center;
  }

  .site-header .platform-navigation a {
    min-height: var(--public-header-control-height);
    padding: clamp(16px, calc(.9375vw - 2px), 22px) clamp(12px, calc(1.25vw - 12px), 20px);
    font-size: clamp(34px, calc(.9375vw + 16px), 40px);
    white-space: normal;
    text-align: center;
  }

  .site-header .header-login { padding-inline: clamp(4px, calc(.3125vw - 2px), 6px); }

  .site-header .language-toggle {
    min-width: clamp(166px, calc(5vw + 70px), 198px);
    min-height: var(--public-header-control-height);
    padding: clamp(16px, calc(.9375vw - 2px), 22px) clamp(20px, calc(.9375vw + 2px), 26px);
    font-size: var(--public-header-action-size);
    gap: clamp(14px, calc(.625vw + 2px), 18px);
  }

  .site-header .language-globe {
    width: var(--public-header-icon-size);
    height: var(--public-header-icon-size);
  }

  .site-header .language-popup { width: clamp(426px, calc(9.6875vw + 240px), 488px); }
  .site-header .language-search-wrap { min-height: clamp(84px, calc(2.5vw + 36px), 100px); gap: 14px; padding-inline: 20px; }
  .site-header .language-search { height: clamp(84px, calc(2.5vw + 36px), 100px); font-size: clamp(28px, calc(.9375vw + 10px), 34px); }
  .site-header .language-option { min-height: var(--public-header-control-height); gap: 16px; padding: 16px 14px; }
  .site-header .language-option-code,
  .site-header .language-option-english { font-size: clamp(24px, calc(.625vw + 12px), 28px); }
  .site-header .language-option-native,
  .site-header .language-empty { font-size: clamp(28px, calc(.9375vw + 10px), 34px); }
  .site-header .language-search-icon,
  .site-header .language-option-check { width: clamp(34px, calc(.9375vw + 16px), 40px); height: clamp(34px, calc(.9375vw + 16px), 40px); }
  .site-header .language-options { max-height: 496px; }
}

/* The approved steps introduction follows its heading at every size. */
.steps-heading > .steps-introduction {
  max-width: 28ch;
  margin: 6px 0 0;
  color: #67616c;
  font: 400 var(--insitu-type-support)/1.5 "Hind", sans-serif;
}
@media (max-width: 900px) {
  .steps-heading > .steps-introduction { margin-top: 16px; }
}

/* Public pages share the same semantic type roles as the product pages.
   Header controls and prices keep their dedicated navigation and data scales. */
@media screen {
  .intro-copy h2,
  .hero h1,
  .hero .value-proposition h1,
  .section-heading h2,
  .platform .section-heading h2,
  .hero #sectors-title,
  #sectores .sector-heading h2,
  .platform-v2-intro h2,
  .audience-v2 #av2-title,
  .audience-heading h2,
  .people-section h2,
  .reach-copy h2,
  .sectors-intro h2,
  .steps-heading h2,
  .international-copy h2,
  .cv-title,
  .faq-intro h2,
  .faq-page-intro h1,
  .closing-content h2,
  .pricing-intro h1,
  .download-copy h1,
  .contact-heading h1,
  .legal-heading h1 {
    font-size: var(--insitu-type-title);
  }

  .demo-tab strong,
  .product-panel h3,
  .profile-heading h3,
  .connection-example h3,
  .audience-v2 .av2-tab-name,
  .audience-v2 .av2-copy h3,
  .audience-copy h3,
  .audience-business-copy h3,
  .audience-business-content h3,
  .people-list h3,
  .sector-label,
  .sector.is-active .sector-label,
  html:not(.js-ready) .sector-label,
  .steps-list h3,
  .steps-section .steps-list h3,
  .faq-category > h2,
  .price-card h2,
  .pricing-help h2,
  .download-caption h2,
  .contact-team-copy h2,
  .contact-form-heading h2,
  .contact-help h3,
  .contact-preview-result h3,
  .footer-cookie-dialog h2,
  .legal-document h2,
  .stamp-name,
  .feature-profile-title,
  .feature-portfolio-note,
  .feature-editorial {
    font-size: var(--insitu-type-card);
  }

  .legal-document h3 {
    font-size: var(--insitu-type-subtitle);
  }

  .intro-copy p,
  .hero-description,
  .value-proposition .value-description,
  .section-heading > p,
  .platform .section-heading > p,
  .platform-v2-intro > p,
  .audience-v2 .av2-introduction,
  .audience-v2 .av2-description,
  .audience-body,
  .sectors-intro > p,
  .reach-copy > p,
  .hero .reach-copy > p,
  .international-copy > p:not(.eyebrow),
  .steps-heading > .steps-introduction,
  .faq-intro > p:last-child,
  .faq-page-description,
  .pricing-intro > p,
  .download-description,
  .contact-heading > p {
    font-size: var(--insitu-type-support);
  }

  body,
  .panel-subtitle,
  .person-info small,
  .empty-results,
  .profile-heading p,
  .profile-blurb,
  .connection-example > p,
  .connection-note,
  .people-list p,
  .audience-v2 .av2-benefits li,
  .steps-list p,
  .steps-section .steps-list p,
  .sector-caption,
  .faq-answer p,
  .price-card-description,
  .price-features,
  .pricing-help p,
  .download-caption p,
  .download-web-note,
  .contact-team-copy > p,
  .contact-form-heading p,
  .contact-help p,
  .contact-preview-result p,
  .legal-document,
  .legal-safety,
  .complete-footer-brand > p,
  .complete-footer-status,
  .footer-cookie-dialog > p,
  .footer-cookie-option p,
  .feature-chat-message,
  .feature-field-value,
  .stamp-role {
    font-size: var(--insitu-type-body);
  }

  .button,
  .hero-buttons .button,
  .intro-copy .button,
  .text-link,
  .hero-buttons .text-link,
  .audience-v2 .av2-register,
  .audience-link,
  .people-list a,
  .product-panel .button,
  .demo-filters select,
  .prototype-controls button,
  .faq-item summary,
  .faq-answer .text-link,
  .faq-topic-nav a,
  .billing-switch,
  .price-card-cta .button,
  .pricing-help-links,
  .download-store strong,
  .contact-email,
  .contact-help a,
  .contact-submit,
  .contact-preview-result .button,
  .contact-field input,
  .contact-field select,
  .contact-field textarea,
  .legal-home,
  .legal-print,
  .legal-documents a,
  .legal-documents button,
  .legal-toc a,
  .legal-end a,
  .legal-mobile-index summary,
  .complete-footer-column a,
  .complete-footer-column button,
  .footer-primary-links,
  .footer-cookie-action,
  .footer-cookie-save,
  .footer-cookie-policy,
  .footer-cookie-close,
  .feature-search {
    font-size: var(--insitu-type-control);
  }

  .eyebrow,
  .hero .eyebrow,
  .intro-copy .eyebrow,
  .platform .section-heading .eyebrow,
  .hero .sector-heading .eyebrow,
  .hero .sectors-topline .eyebrow,
  .international-copy > .eyebrow,
  .sector-heading > span,
  .sector-heading .eyebrow,
  .sectors-topline .eyebrow,
  .demo-filters label,
  .result-label,
  .person-info strong,
  .profile-tags span,
  .sectors-list li,
  .pricing-region,
  .price-card-badge,
  .price-features-heading,
  .contact-field label,
  .legal-index-title,
  .legal-document h4,
  .complete-footer-column h2,
  .footer-cookie-option .footer-cookie-option-title,
  .feature-label,
  .feature-field-label,
  .feature-connection,
  .feature-person-name,
  .feature-saved-row .feature-person-name,
  .device-title,
  .device-discipline strong {
    font-size: var(--insitu-type-label);
  }

  .intro-bottom,
  .skip-intro,
  .hero-support,
  .hero-art-caption,
  .hero-bottom,
  .sector-strip .container,
  .demo-tab small,
  .demo-tab .tab-number,
  .demo-caption,
  .product-breadcrumb,
  .demo-badge,
  .product-sidebar,
  .connection-pair > span,
  .prototype-controls,
  .audience-photo figcaption,
  .connection-visual figcaption,
  .steps-action > p,
  .closing-support,
  .price-upcoming,
  .price-interval,
  .price-billing-detail,
  .price-saving,
  .price-cta-note,
  .pricing-terms,
  .download-store small,
  .device-status,
  .device-greeting,
  .device-search,
  .device-discipline span,
  .device-tabbar small,
  .contact-required,
  .contact-privacy,
  .contact-message-label > span,
  .contact-error,
  .contact-send-error,
  .legal-meta,
  .complete-footer-bottom,
  .complete-footer-funding-copy,
  .footer-positioning,
  .footer-bottom,
  .footer-top > span:last-child,
  .footer-cookie-dialog .footer-cookie-prototype,
  .footer-cookie-required,
  .feature-footnote,
  .feature-review-details,
  .feature-review-details > span:last-child,
  .feature-person-detail,
  .feature-search-filters {
    font-size: var(--insitu-type-caption);
  }

  /* Joined scripts retain word shaping and the leading needed by their glyphs. */
  html:is(:lang(ar), :lang(fa), :lang(ur), :lang(he)) :is(h1, h2, h3, .cv-title),
  html:is(:lang(ar), :lang(fa), :lang(ur), :lang(he)) .audience-v2 #av2-title {
    letter-spacing: normal;
    line-height: 1.3;
  }

  html:is(:lang(ja), :lang(zh), :lang(ko), :lang(th), :lang(am), :lang(bn), :lang(gu), :lang(hi), :lang(kn), :lang(ml), :lang(mr), :lang(pa), :lang(ta), :lang(te)) :is(h1, h2, .cv-title),
  html:is(:lang(ja), :lang(zh), :lang(ko), :lang(th), :lang(am), :lang(bn), :lang(gu), :lang(hi), :lang(kn), :lang(ml), :lang(mr), :lang(pa), :lang(ta), :lang(te)) .audience-v2 #av2-title {
    letter-spacing: normal;
    line-height: 1.2;
  }
}
