/* Version 81 consistency layer. Load after the approved public stylesheet.
   Deliberately scoped: legacy rules are retained. Repeated IDs below match the
   existing cascade, including its important rules; they are not markup IDs.
   Marketing pills, circular chat controls and the carousel keep their shapes. */
:root {
  --sigma-v81-body: 16px;
  --sigma-v81-label: 14px;
  --sigma-v81-secondary: 12px;
  --sigma-v81-input: 16px;
  --sigma-v81-control: 44px;
  --sigma-v81-icon: 20px;
  --sigma-v81-space-1: 4px;
  --sigma-v81-space-2: 8px;
  --sigma-v81-space-3: 12px;
  --sigma-v81-space-4: 16px;
  --sigma-v81-space-6: 24px;
  --sigma-v81-space-8: 32px;
  --sigma-v81-space-12: 48px;
  --sigma-v81-space-16: 64px;
}
body { font-size: var(--sigma-v81-body); line-height: 1.6; }

/* Match the three-ID typography reset without altering display headings. */
html body :is(#mainView#mainView#mainView, #aboutView#aboutView#aboutView, #partnersView#partnersView#partnersView, #insightsIndex#insightsIndex#insightsIndex) p {
  font-size: var(--sigma-v81-body) !important;
  line-height: 1.6 !important;
}
html body :is(#mainView#mainView#mainView, #aboutView#aboutView#aboutView, #partnersView#partnersView#partnersView, #insightsIndex#insightsIndex#insightsIndex) .pd-card p {
  font-size: var(--sigma-v81-body) !important;
  line-height: 1.6 !important;
}
html body #contactView#contactView#contactView#contactView :is(.sx-lede, .sx-card p, .sx-methods li, .sx-area, .sx-response) {
  font-size: var(--sigma-v81-body) !important;
  line-height: 1.6 !important;
}

/* Reuse the established roles; retain Inter and the canonical heading sizes. */
html body :is(#mainView#mainView#mainView#mainView, #aboutView#aboutView#aboutView#aboutView, #partnersView#partnersView#partnersView#partnersView, #insightsIndex#insightsIndex#insightsIndex#insightsIndex) :is(.sigma-delivery-note, .pd-note, .pd-status, time, .connect-response) {
  font-size: var(--sigma-v81-secondary) !important;
  line-height: 1.5 !important;
}
html body #mainView#mainView#mainView#mainView .sigma-value-note {
  font-size: var(--sigma-v81-body) !important;
  line-height: 1.6 !important;
}
html body #mainView#mainView#mainView#mainView .sigma-intro-actions .sigma-button {
  font-size: var(--sigma-v81-label) !important;
  line-height: 1.5 !important;
}
html body .articleView .art-utils .article-social-button svg,
html body #artBar .article-social-button svg {
  width: var(--sigma-v81-icon) !important;
  height: var(--sigma-v81-icon) !important;
}

/* Solutions has a separate five-ID override. Retain its canonical Inter font. */
html body #mainView#mainView#mainView#mainView #solutions :is(.sigma-panel p, .sigma-guide-heading > p) {
  font-size: var(--sigma-v81-body) !important;
  line-height: 1.6 !important;
}
html body #mainView#mainView#mainView#mainView #solutions .sigma-tabs button {
  font-size: var(--sigma-v81-label) !important;
  line-height: 1.5 !important;
  min-height: var(--sigma-v81-control) !important;
  padding: var(--sigma-v81-space-2) var(--sigma-v81-space-4) !important;
}
html body #mainView#mainView#mainView #solutions .sigma-panel .sigma-guide-description {
  margin: var(--sigma-v81-space-3) 0 var(--sigma-v81-space-6) !important;
}

/* Shared Contact / RFP / support form contract. Do not target hidden inputs,
   honeypots, checkboxes or the embedded chat composer as text controls. */
html body :is(#mainView#mainView#mainView#mainView #contact, #contactView#contactView#contactView#contactView) :is(.contact-form, .rfp-form, .support-form) {
  padding: var(--sigma-v81-space-6) !important;
  border-radius: 16px !important;
}
html body :is(#mainView#mainView#mainView#mainView #contact, #contactView#contactView#contactView#contactView) .fields {
  gap: var(--sigma-v81-space-4) !important;
  margin-bottom: var(--sigma-v81-space-6) !important;
}
html body :is(#mainView#mainView#mainView#mainView #contact, #contactView#contactView#contactView#contactView) .field {
  gap: var(--sigma-v81-space-2) !important;
  min-width: 0;
}
html body :is(#mainView#mainView#mainView#mainView #contact, #contactView#contactView#contactView#contactView) :is(.field label, .checkbox, .checkbox span) {
  font-size: var(--sigma-v81-label) !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}
html body :is(#mainView#mainView#mainView#mainView #contact, #contactView#contactView#contactView#contactView) .field :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]), select, textarea) {
  font-size: var(--sigma-v81-input) !important;
  line-height: 1.5 !important;
  min-height: var(--sigma-v81-control) !important;
  padding: var(--sigma-v81-space-2) var(--sigma-v81-space-3) !important;
  border-radius: 8px !important;
}
html body :is(#mainView#mainView#mainView#mainView #contact, #contactView#contactView#contactView#contactView) .field :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]), select) {
  height: var(--sigma-v81-control) !important;
}
html body :is(#mainView#mainView#mainView#mainView #contact, #contactView#contactView#contactView#contactView) .field select {
  padding-right: var(--sigma-v81-space-8) !important;
}
html body :is(#mainView#mainView#mainView#mainView #contact, #contactView#contactView#contactView#contactView) .field textarea {
  /* Allow native vertical resizing to set an inline height. */
  height: auto;
  min-height: 128px !important;
}
html body :is(#mainView#mainView#mainView#mainView #contact, #contactView#contactView#contactView#contactView) :is(.seg-btn, .rfp-more-toggle, .upload-zone-compact) {
  min-height: var(--sigma-v81-control) !important;
  height: auto !important;
  font-size: var(--sigma-v81-label) !important;
  line-height: 1.5 !important;
  gap: var(--sigma-v81-space-2) !important;
  padding: var(--sigma-v81-space-2) var(--sigma-v81-space-4) !important;
}
html body :is(#mainView#mainView#mainView#mainView #contact, #contactView#contactView#contactView#contactView) .checkbox {
  min-height: var(--sigma-v81-control);
  gap: var(--sigma-v81-space-2) !important;
  margin-bottom: var(--sigma-v81-space-4) !important;
}
html body :is(#mainView#mainView#mainView#mainView #contact, #contactView#contactView#contactView#contactView) .form-actions {
  gap: var(--sigma-v81-space-3) !important;
}
html body #mainView#mainView#mainView#mainView #contact :is(#panelContact, #panelRfp) button[type=submit],
html body #contactView#contactView#contactView#contactView .support-form button[type=submit] {
  min-height: var(--sigma-v81-control) !important;
  height: auto !important;
  padding: var(--sigma-v81-space-2) var(--sigma-v81-space-6) !important;
  border-radius: 999px !important;
  font-size: var(--sigma-v81-label) !important;
  line-height: 1.5 !important;
}
html body :is(#mainView#mainView#mainView#mainView #contact, #contactView#contactView#contactView#contactView) :is(.form-privacy, .sigma-upload-help, .field-err) {
  font-size: var(--sigma-v81-secondary) !important;
  line-height: 1.5 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}
html body :is(#mainView#mainView#mainView#mainView #contact, #contactView#contactView#contactView#contactView) .rfp-more-toggle svg {
  width: var(--sigma-v81-icon) !important;
  height: var(--sigma-v81-icon) !important;
  flex-shrink: 0;
}

/* Keep the four-ID chat shape, focus behavior and 44px target intact. */
html body :is(#mainView#mainView#mainView#mainView, #partnersView#partnersView#partnersView#partnersView) .sigma-ask-send svg {
  width: var(--sigma-v81-icon) !important;
  height: var(--sigma-v81-icon) !important;
}
html body :is(#mainView#mainView#mainView#mainView, #partnersView#partnersView#partnersView#partnersView) :is(.sigma-ask-privacy, .sigma-ask-note) {
  font-size: var(--sigma-v81-secondary) !important;
  line-height: 1.5 !important;
  margin-top: var(--sigma-v81-space-2) !important;
}

/* Article rules carry a seven-ID :is() specificity in the approved sheet.
   Preserve the editorial body scale, including real list items, and separately
   retain table, note and metadata roles rather than flattening all descendants. */
:is(#q#q#q#q#q#q#q, html) body .articleView.articleView .article-body :is(p, li),
:is(#q#q#q#q#q#q#q, html) body .articleView.articleView .buyer-glance ul li {
  font-size: 17px !important;
  line-height: 1.75 !important;
}
:is(#q#q#q#q#q#q#q, html) body .articleView.articleView .article-body :is(.svc-note, .buyer-cta-kicker),
:is(#q#q#q#q#q#q#q, html) body .articleView.articleView :is(.sigma-story-date time, .sigma-story-date .sigma-story-author, .buyer-sources, .buyer-sources li) {
  font-size: var(--sigma-v81-secondary) !important;
  line-height: 1.5 !important;
}
:is(#q#q#q#q#q#q#q, html) body .articleView.articleView .buyer-cta-button {
  font-size: var(--sigma-v81-label) !important;
  line-height: 1.5 !important;
  min-height: var(--sigma-v81-control) !important;
}
:is(#q#q#q#q#q#q#q, html) body .articleView.articleView .article-reading-rail a {
  font-size: var(--sigma-v81-label) !important;
  line-height: 1.5 !important;
  min-height: var(--sigma-v81-control);
  display: flex;
  align-items: center;
}

@media (max-width: 760px) {
  :is(#q#q#q#q#q#q#q, html) body .articleView.articleView .article-body :is(p, li),
  :is(#q#q#q#q#q#q#q, html) body .articleView.articleView .buyer-glance ul li {
    font-size: var(--sigma-v81-body) !important;
    line-height: 1.7 !important;
  }
  :is(#q#q#q#q#q#q#q, html) body .articleView.articleView .article-body :is(.svc-note, .buyer-cta-kicker),
  :is(#q#q#q#q#q#q#q, html) body .articleView.articleView .buyer-sources li {
    font-size: var(--sigma-v81-secondary) !important;
    line-height: 1.5 !important;
  }
  html body :is(#mainView#mainView#mainView#mainView #contact, #contactView#contactView#contactView#contactView) :is(.contact-form, .rfp-form, .support-form) {
    padding: var(--sigma-v81-space-4) !important;
  }
}

/* Reassert the existing mobile/coarse-pointer anti-zoom contract. */
@media (max-width: 1024px), (pointer: coarse) {
  html body :is(#mainView#mainView#mainView#mainView#mainView#mainView, body) :is(input:not([type=checkbox]):not([type=radio]), select, textarea) {
    font-size: var(--sigma-v81-input) !important;
  }
}
/* Optional first-party measurement controls. No collection before explicit choice. */
.sigma-measurement-choice{position:fixed;bottom:12px;left:12px;z-index:30;min-height:44px;padding:8px 14px;border:1px solid #ccd7df;border-radius:22px;background:#fff;color:#09293d;font:14px/1.4 var(--sigma-font-family)}
.sigma-measurement-dialog{max-width:min(520px,calc(100vw - 32px));padding:24px;border:1px solid #ccd7df;border-radius:16px;color:#09293d;font:16px/1.6 var(--sigma-font-family)}.sigma-measurement-dialog::backdrop{background:#04243c80}.sigma-measurement-dialog h2{font-size:24px;line-height:1.25}.sigma-measurement-dialog button{min-height:44px;margin:4px;padding:8px 12px;border:1px solid #ccd7df;border-radius:12px;background:#fff;color:#09293d;font:14px/1.4 var(--sigma-font-family)}.sigma-measurement-dialog button[data-choice="allow"]{background:#04243c;color:white}.sigma-measurement-dialog :focus-visible{outline:3px solid #2477a2;outline-offset:3px}

/* V82: keep a blocked browser-storage handoff visible and actionable. */
.sigma-ask .sigma-chat-handoff-help{flex-basis:100%;grid-column:1/-1;margin-top:12px;text-align:left}
html body :is(#mainView#mainView#mainView#mainView#mainView,#partnersView#partnersView#partnersView#partnersView#partnersView) .sigma-ask .sigma-chat-handoff-help p{margin:0 0 8px!important;font-size:14px!important;line-height:1.5!important}
html body :is(#mainView#mainView#mainView#mainView#mainView,#partnersView#partnersView#partnersView#partnersView#partnersView) .sigma-ask .sigma-chat-handoff-help a{display:inline-flex!important;align-items:center;min-height:44px!important;font-size:14px!important;text-decoration:underline!important}
