/**
 * V9.00 RC10 — final coherence layer.
 * Shared finishing rules for secondary routes and conversion surfaces.
 */

:root {
  --cy-content-measure: 72ch;
  --cy-section-space: clamp(4.5rem, 8vw, 8rem);
  --cy-card-radius-final: 1.25rem;
}

/* Keep long-form route copy readable and intentionally editorial. */
:is(.cy-services-page, .cy-process-page, .cy-contact-page, .cy-comparison-page, .cy-seo-pillar, .cy-industry-detail) p {
  text-wrap: pretty;
}

:is(.cy-services-page, .cy-process-page, .cy-contact-page, .cy-comparison-page, .cy-seo-pillar, .cy-industry-detail) h1,
:is(.cy-services-page, .cy-process-page, .cy-contact-page, .cy-comparison-page, .cy-seo-pillar, .cy-industry-detail) h2 {
  text-wrap: balance;
}

/* One visual grammar for interactive cards and decision blocks. */
:is(.cy-route-decision-card, .cy-commercial-criterion, .cy-industry-related__card, .cy-contact-project-inputs__item) {
  border-radius: var(--cy-card-radius-final);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

:is(a.cy-route-decision-card, a.cy-industry-related__card):hover,
:is(a.cy-route-decision-card, a.cy-industry-related__card):focus-visible {
  transform: translateY(-3px);
}

/* Strong, consistent keyboard visibility across the complete public system. */
.site-main a:focus-visible,
.site-header a:focus-visible,
.site-footer a:focus-visible,
.site-main button:focus-visible {
  outline: 3px solid #f5c400;
  outline-offset: 4px;
}

/* Conversion actions remain deliberate rather than filling arbitrary widths. */
.cy-button,
.cy-contact-page button[type="submit"] {
  min-height: 3rem;
}

/* Tables remain usable on narrow devices without breaking the page canvas. */
:is(.cy-comparison-page, .cy-product-page) table {
  width: 100%;
}

:is(.cy-comparison-page, .cy-product-page) :is(.table-wrap, .cy-table-wrap, .cy-comparison-table-wrap) {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

/* Prevent technical media from escaping its intended surface. */
:is(.cy-equipment-card, .cy-product-gallery, .cy-industry-detail) img {
  max-width: 100%;
  height: auto;
}

@media (max-width: 760px) {
  :root { --cy-section-space: 4.25rem; }

  .cy-container {
    width: min(100% - 2rem, var(--cy-container, 1200px));
  }

  .cy-button {
    justify-content: center;
  }

  /* Avoid accidental horizontal clipping from decorative technical systems. */
  .site-main {
    overflow-x: clip;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(.cy-route-decision-card, .cy-commercial-criterion, .cy-industry-related__card, .cy-contact-project-inputs__item) {
    transition: none;
  }
}
