/* Homepage refinement. All rules stay inside sections below the protected hero. */
body.visual-refinement main > :is(#platform, #intelligence, #applications, #industries, #scientific-evidence, #workflow-fit, #sample-evaluation, #resources, #contact) {
  --refine-surface: #091c2a;
  --refine-panel: #112b3b;
  --refine-line: #385365;
  --refine-heading: #f5f9fb;
  --refine-body: #c9d7e0;
  --refine-muted: #b5c9d5;
  padding-block: clamp(3rem, 5vw, 5rem);
  border-top: 1px solid #243c4c;
  background: var(--refine-surface) !important;
  font-size: 1.125rem;
  line-height: 1.6;
}

body.visual-refinement main > .section::before,
body.visual-refinement main > .section::after {
  display: none;
}

body.visual-refinement main > :is(#applications, #scientific-evidence, #sample-evaluation) {
  --refine-surface: #0d2231;
}

body.visual-refinement main > #platform.product-intro {
  background: #f1f5f3 !important;
  border-color: #dde5e3;
}

body.visual-refinement main > #platform .product-intro-visual figcaption {
  color: #405967;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

body.visual-refinement main > .section h2 {
  font-size: clamp(2rem, 1.5rem + 1.5vw, 2.75rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.18;
}

body.visual-refinement main > .section :is(h3, h4) {
  font-size: 1.5rem;
  font-weight: 650;
  letter-spacing: -0.015em;
  line-height: 1.3;
}

body.visual-refinement main > .section p:not(.section-kicker) {
  font-size: 1.125rem;
  line-height: 1.6;
}

body.visual-refinement main > .section :is(.section-heading, .resource-heading) {
  margin-bottom: 2rem;
}

body.visual-refinement main > .section .section-kicker {
  margin-bottom: 1rem;
  font-size: 1rem;
  font-weight: 650;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

body.visual-refinement main > :is(#applications, #industries) :is(.use-card, .industry-card),
body.visual-refinement main > .section :is(.use-card, .industry-card, .workflow-node, .resource-feature, .service-agent-callout) {
  padding: 1.5rem;
  border: 1px solid var(--refine-line) !important;
  border-radius: 8px;
  background: var(--refine-panel) !important;
  box-shadow: none;
}

body.visual-refinement main > .section :is(.use-card, .industry-card)::before {
  display: none;
}

body.visual-refinement main > .section :is(.use-card, .industry-card, .workflow-node, .resource-feature, .service-agent-callout) h3 {
  color: var(--refine-heading) !important;
  font-size: 1.5rem;
  font-weight: 650;
  line-height: 1.3;
}

body.visual-refinement main > .section :is(.use-card, .industry-card, .workflow-node, .sample-evaluation) p:not(.industry-label) {
  color: var(--refine-body) !important;
}

body.visual-refinement main > .section :is(.use-grid, .industry-grid, .workflow-board, .resource-start-grid) {
  gap: 1.5rem;
}

body.visual-refinement main > .section :is(.kinetic-example-link, .resource-text-link, .product-intro-link, .industry-card a) {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.5;
}

body.visual-refinement main > .section :is(.industry-label, .resource-feature-label, .study-category, .kinetic-conditions, .webinar-eyebrow, .webinar-resource-label, .webinar-resource-note, .webinar-speakers, .webinar-access-note) {
  font-size: 1rem !important;
  line-height: 1.5;
}

body.visual-refinement main > .section :is(.webinar-feature, .webinar-resource) {
  border-radius: 8px;
  background: var(--refine-panel);
}

body.visual-refinement main > .section .webinar-feature h3 {
  font-size: clamp(1.5rem, 2.2vw, 1.875rem);
  font-weight: 650;
  line-height: 1.3;
}

body.visual-refinement main > .section .webinar-resource h3 {
  font-size: 1.5rem;
  font-weight: 650;
  line-height: 1.3;
}

/* Compact contact surface; preserve field names, validation and consent. */
body.visual-refinement main > #contact .contact-grid {
  width: 100%;
  max-width: 720px;
  gap: 1.5rem;
  margin-inline: auto;
}

body.visual-refinement main > #contact h2 {
  margin-bottom: 0;
  font-size: clamp(1.875rem, 1.5rem + 1vw, 2.25rem);
  line-height: 1.2;
}

body.visual-refinement main > #contact .contact-panel {
  padding: 1.5rem;
  border: 1px solid var(--refine-line);
  border-radius: 8px;
  background: #102635;
  box-shadow: none;
}

body.visual-refinement main > #contact .contact-panel > p:first-child {
  margin: 0;
  color: var(--refine-body) !important;
  font-size: 1.125rem;
  line-height: 1.5;
}

body.visual-refinement main > #contact .contact-lead-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

body.visual-refinement main > #contact .field {
  gap: 0.375rem;
  color: var(--refine-heading);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
}

body.visual-refinement main > #contact .field span small {
  color: var(--refine-muted);
  font-size: 1rem;
  font-weight: 400;
}

body.visual-refinement main > #contact .field :is(input, textarea) {
  min-height: 48px;
  padding: 0.625rem 0.75rem;
  border-color: #88a1af;
  border-radius: 6px;
  background: #091c2a;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
}

body.visual-refinement main > #contact .field textarea {
  min-height: 104px;
  resize: vertical;
}

body.visual-refinement main > #contact .field :is(input, textarea)::placeholder {
  color: #b5c9d5;
  font-weight: 400;
  opacity: 1;
}

body.visual-refinement main > #contact .field :is(input, textarea):focus {
  border-color: #fff200;
  background: #091c2a;
  outline: 2px solid #fff200;
  outline-offset: 3px;
  box-shadow: none;
}

body.visual-refinement main > #contact :is(.checkbox-field, .form-note, .form-fallback, .form-status, .contact-product-link) {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
}

body.visual-refinement main > #contact .checkbox-field {
  color: var(--refine-body);
  font-weight: 400;
}

body.visual-refinement main > #contact :is(.form-note, .form-fallback) {
  max-width: none;
  color: var(--refine-muted) !important;
}

body.visual-refinement main > #contact .form-actions-row {
  gap: 0.75rem 1rem;
}

body.visual-refinement main > #contact .button {
  min-height: 48px;
  padding: 0.75rem 1.25rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}

body.visual-refinement main > #contact .contact-product-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 0.5rem;
}

@media (max-width: 720px) {
  body.visual-refinement main > #contact .contact-panel {
    padding: 1.25rem;
  }

  body.visual-refinement main > #contact .contact-lead-form {
    grid-template-columns: minmax(0, 1fr);
  }
}
