/**
 * V9.00 RC11 — runtime visual QA corrections.
 * Built from real desktop + 280px screenshots supplied after RC10 install.
 */

/* HOME — restore intended contrast in the dark process narrative. */
.front-page .cy-process__intro h2 { color: #fff; }
.front-page .cy-process__intro h2 span {
  color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,.68);
}
.front-page .cy-process__intro h2 strong { color: var(--cypros-yellow); }
.front-page .cy-process__content h3 { color: #fff; }
.front-page .cy-process__content p { color: rgba(255,255,255,.68); }

/* EQUIPMENT — calmer conversion close; no poster-like line blocks. */
.cy-equipment-page__cta { position:relative; overflow:hidden; }
.cy-equipment-page__cta::before {
  position:absolute; inset:0; pointer-events:none; content:"";
  background:linear-gradient(90deg,rgba(244,195,0,.07) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:72px 72px;
}
.cy-equipment-page__cta-grid { position:relative; z-index:1; }
.cy-equipment-page__cta h2 {
  max-width:14ch;
  color:#fff;
  font-size:clamp(2.6rem,3.6vw,4.15rem);
  line-height:.98;
  text-wrap:balance;
}
.cy-equipment-page__cta h2 span {
  display:block;
  margin-top:.12em;
  color:var(--cypros-yellow);
  background:transparent !important;
  box-shadow:none !important;
}
.cy-equipment-page__cta-grid > div > a { border-radius:999px; }

/* EQUIPMENT — the Cummins/Perkins platform must survive very narrow phones. */
@media (max-width:48rem) {
  .cy-equipment-brands { padding:3rem 0 1.5rem; }
  .cy-equipment-brands__header { grid-template-columns:minmax(0,1fr); gap:1.25rem; }
  .cy-equipment-brands__header > * { min-width:0; }
  .cy-equipment-brands__header h2 {
    max-width:100%;
    font-size:clamp(2.1rem,10vw,3.2rem);
    line-height:.96;
    letter-spacing:-.045em;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  .cy-equipment-brands__header h2 span { display:block; overflow-wrap:normal; word-break:normal; }
  .cy-equipment-brands__nav { grid-template-columns:1fr; }
  .cy-equipment-brands__tab + .cy-equipment-brands__tab { border-left:0; border-top:1px solid var(--cypros-black); }
  .cy-equipment-page__cta-grid { grid-template-columns:1fr; gap:2rem; }
}
@media (max-width:22rem) {
  .cy-equipment-brands__header h2 { font-size:clamp(1.85rem,11vw,2.55rem); }
  .cy-page-hero__headline h1 { font-size:clamp(1.85rem,10vw,2.6rem); overflow-wrap:normal; word-break:normal; hyphens:none; }
}

/* SERVICES — make the service sequence feel like an active engineering route. */
.cy-services-page-services__list { counter-reset:service; }
.cy-services-page-services__list .cy-card {
  position:relative;
  overflow:hidden;
  border-radius:1.15rem;
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.cy-services-page-services__list .cy-card::after {
  position:absolute; left:0; bottom:0; width:100%; height:3px;
  background:var(--cypros-yellow); content:"";
  transform:scaleX(.08); transform-origin:left; transition:transform .32s ease;
}
.cy-services-page-services__list .cy-card:hover,
.cy-services-page-services__list .cy-card:focus-within {
  transform:translateY(-4px);
  border-color:rgba(17,17,17,.25);
  box-shadow:0 18px 45px rgba(17,17,17,.08);
}
.cy-services-page-services__list .cy-card:hover::after,
.cy-services-page-services__list .cy-card:focus-within::after { transform:scaleX(1); }
.cy-services-page-hero__system i { position:relative; overflow:hidden; }
.cy-services-page-hero__system i::after {
  position:absolute; inset:0; background:#fff; content:""; transform:translateX(-110%);
  animation:cy-service-signal 3.8s ease-in-out infinite;
}
@keyframes cy-service-signal { 0%,18%{transform:translateX(-110%)} 45%,100%{transform:translateX(110%)} }

/* The dark milestone must have readable contrast in every cascade order. */
.cy-services-page .cy-services-page-services__list .cy-card--dark { background:#111; color:#fff; }
.cy-services-page .cy-services-page-services__list .cy-card--dark .cy-card__eyebrow,
.cy-services-page .cy-services-page-services__list .cy-card--dark .cy-card__title,
.cy-services-page .cy-services-page-services__list .cy-card--dark .cy-card__body,
.cy-services-page .cy-services-page-services__list .cy-card--dark .cy-card__tag { color:#fff; }
.cy-services-page .cy-services-page-services__list .cy-card--dark .cy-card__body { color:rgba(255,255,255,.76); }
.cy-services-page .cy-services-page-services__list .cy-card--dark .cy-card__eyebrow { color:rgba(255,255,255,.58); }

/* CONTACT — desktop capture zone: useful fields + guidance within first viewport. */
@media (min-width:64.01rem) {
  .cy-contact-page-start { padding-top:clamp(2rem,3vw,3.25rem); padding-bottom:clamp(3rem,4vw,4.5rem); }
  .cy-contact-page-start__header { margin-bottom:1.5rem; }
  .cy-contact-page-start__intro h2 { font-size:clamp(2.4rem,3.3vw,3.8rem); }
  .cy-contact-page-start__grid { align-items:start; gap:clamp(2rem,4vw,4rem); }
  .cy-contact-page-form__section { padding:1.4rem 0; }
  .cy-contact-page-form__section-heading h3 { font-size:clamp(1.9rem,2.4vw,2.9rem); line-height:.94; }
  .cy-contact-page-form__fields { gap:1.05rem 1.5rem; }
  .cy-contact-page-form__field input,
  .cy-contact-page-form__field select { min-height:3.25rem; }
  .cy-contact-page-start__panel { position:sticky; top:calc(var(--cypros-header-height-scrolled) + 1rem); padding:1.5rem; }
  .cy-contact-page-start__panel h3 { font-size:clamp(1.55rem,2vw,2.15rem); }
}

/* MOBILE — explicit 280–480px contract, not a desktop layout squeezed smaller. */
@media (max-width:48rem) {
  .cy-services-page-services__list .cy-card--horizontal { grid-template-columns:2.4rem minmax(0,1fr); gap:1rem; }
  .cy-services-page-services__list .cy-card__footer { grid-column:2; justify-self:start; }
  .cy-services-page-services__list::before { left:1.15rem; }
  .cy-contact-page-start__grid { grid-template-columns:minmax(0,1fr); }
  .cy-contact-page-start__panel { order:-1; position:static; }
  .cy-contact-page-form__fields { grid-template-columns:minmax(0,1fr); }
  .cy-contact-page-form__field--full { grid-column:auto; }
}

@media (prefers-reduced-motion:reduce) {
  .cy-services-page-hero__system i::after { animation:none; display:none; }
  .cy-services-page-services__list .cy-card { transition:none; }
}
