/* RsquareGames shared interaction polish — scoped to redesigned pages */
:where(.home-page,.rsq-services-page,.ind-page,.rsq-about-page,.tech-page,.ins-page,.rsq-contact-page,.work-page,.rsq-detail-page) :where(a,button,[role="button"]):focus-visible {
  outline: 3px solid #a7fff0;
  outline-offset: 4px;
}
:where(.home-page,.rsq-services-page,.ind-page,.rsq-about-page,.tech-page,.ins-page,.rsq-contact-page,.work-page,.rsq-detail-page) :where(
  .capability-card,.rsq-svc-card,.ind-card,.rsq-about-value,.tech-card,.ins-card,
  .rsq-contact-method,.work-card,.rsq-detail-card,.rsq-detail-feature,.rsq-svc-feature,.ind-feature
) {
  transition: transform .28s cubic-bezier(.2,.7,.2,1), box-shadow .28s ease, border-color .28s ease;
}
@media (hover:hover) and (pointer:fine) {
  :where(.home-page,.rsq-services-page,.ind-page,.rsq-about-page,.tech-page,.ins-page,.rsq-contact-page,.work-page,.rsq-detail-page) :where(
    .capability-card,.rsq-svc-card,.ind-card,.rsq-about-value,.tech-card,.ins-card,
    .rsq-contact-method,.work-card,.rsq-detail-card,.rsq-detail-feature,.rsq-svc-feature,.ind-feature
  ):hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 42px rgba(0,0,0,.28), 0 0 22px rgba(118,228,209,.055);
    border-color: rgba(118,228,209,.48);
  }
}
:where(.home-page,.rsq-services-page,.ind-page,.rsq-about-page,.tech-page,.ins-page,.rsq-contact-page,.work-page,.rsq-detail-page) :where(
  .button-primary,.rsq-svc-button-primary,.rsq-about-btn,.tech-primary,.work-store-btn,.rsq-detail-button
) {
  transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease, border-color .22s ease;
}
@media (hover:hover) and (pointer:fine) {
  :where(.home-page,.rsq-services-page,.ind-page,.rsq-about-page,.tech-page,.ins-page,.rsq-contact-page,.work-page,.rsq-detail-page) :where(
    .button-primary,.rsq-svc-button-primary,.rsq-about-btn,.tech-primary,.work-store-btn,.rsq-detail-button
  ):hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(0,0,0,.24), 0 0 22px rgba(118,228,209,.13);
  }
}
@media (prefers-reduced-motion: reduce) {
  :where(.home-page,.rsq-services-page,.ind-page,.rsq-about-page,.tech-page,.ins-page,.rsq-contact-page,.work-page,.rsq-detail-page) * {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

/* RSQUAREGAMES CARD DEPTH AND INTERACTION PASS
   Scoped visual polish. No layout dimensions or navigation rules are changed. */

:where(
  .home-page,
  .rsq-services-page,
  .ind-page,
  .rsq-about-page,
  .tech-page,
  .ins-page,
  .rsq-contact-page,
  .work-page,
  .rsq-detail-page
) :where(
  .capability-card,
  .rsq-svc-feature,
  .rsq-svc-card,
  .ind-card,
  .rsq-about-value,
  .rsq-about-proof-card,
  .tech-card,
  .ins-card,
  .rsq-contact-form-card,
  .rsq-contact-method,
  .work-card,
  .rsq-detail-cap,
  .rsq-detail-card,
  .rsq-detail-feature,
  .visual-card
) {
  position: relative;
  isolation: isolate;
  transition:
    transform .26s cubic-bezier(.2,.7,.2,1),
    border-color .26s ease,
    box-shadow .26s ease,
    background-color .26s ease;
}

/* A restrained highlight at the top edge gives cards more surface definition. */
:where(
  .home-page,
  .rsq-services-page,
  .ind-page,
  .rsq-about-page,
  .tech-page,
  .ins-page,
  .rsq-contact-page,
  .work-page,
  .rsq-detail-page
) :where(
  .capability-card,
  .rsq-svc-feature,
  .rsq-svc-card,
  .ind-card,
  .rsq-about-value,
  .rsq-about-proof-card,
  .tech-card,
  .ins-card,
  .rsq-contact-form-card,
  .work-card,
  .rsq-detail-card,
  .rsq-detail-feature
)::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(130,245,225,.48), transparent);
  opacity: .55;
  z-index: 1;
}

/* Hover elevation is only enabled for real mouse/trackpad devices. */
@media (hover:hover) and (pointer:fine) {
  :where(
    .home-page,
    .rsq-services-page,
    .ind-page,
    .rsq-about-page,
    .tech-page,
    .ins-page,
    .rsq-contact-page,
    .work-page,
    .rsq-detail-page
  ) :where(
    .capability-card,
    .rsq-svc-feature,
    .rsq-svc-card,
    .ind-card,
    .rsq-about-value,
    .rsq-about-proof-card,
    .tech-card,
    .ins-card,
    .rsq-contact-form-card,
    .work-card,
    .rsq-detail-card,
    .rsq-detail-feature
  ):hover {
    transform: translateY(-4px);
    border-color: rgba(105,231,211,.52);
    box-shadow:
      0 16px 36px rgba(0,0,0,.24),
      0 0 0 1px rgba(105,231,211,.055),
      0 8px 24px rgba(29,190,170,.055);
  }

  .work-page .work-card:hover .work-card-media img,
  .home-page .work-card:hover .work-image img {
    transform: scale(1.035);
  }
}

/* Card imagery: gentle zoom, clipped to existing media frame. */
:where(.work-page,.home-page) :where(.work-card-media img,.work-image img) {
  transition: transform .45s cubic-bezier(.2,.7,.2,1);
  will-change: transform;
}

/* Industry and insight cards are whole-card links; make keyboard focus obvious. */
:where(.ind-page,.ins-page,.work-page) :where(.ind-card,.ins-card,.work-card):focus-visible {
  outline: 2px solid #a7fff0;
  outline-offset: 4px;
  box-shadow: 0 0 0 5px rgba(105,231,211,.10);
}

/* Capability and service cards use a clear accent for their index/eyebrow. */
:where(.home-page,.rsq-services-page,.rsq-detail-page) :where(
  .card-index,
  .rsq-detail-cap > span,
  .rsq-svc-feature > span,
  .visual-card-kicker
) {
  color: #82eddd;
  text-shadow: 0 0 18px rgba(105,231,211,.16);
}

/* Service/industry grid tiles get a clearer interactive affordance when linked. */
:where(.rsq-services-page,.ind-page) :where(a.rsq-svc-card-link,a.ind-card) {
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(105,231,211,.12);
}

/* Contact method rows: highlight the full row on hover without shifting layout. */
@media (hover:hover) and (pointer:fine) {
  .rsq-contact-page .rsq-contact-method:has(a:hover) {
    border-top-color: rgba(105,231,211,.48);
  }
}

/* Avoid sticky hover transforms on touch devices; retain tap feedback. */
@media (hover:none), (pointer:coarse) {
  :where(
    .home-page,.rsq-services-page,.ind-page,.rsq-about-page,
    .tech-page,.ins-page,.rsq-contact-page,.work-page,.rsq-detail-page
  ) :where(
    .capability-card,.rsq-svc-feature,.rsq-svc-card,.ind-card,
    .rsq-about-value,.rsq-about-proof-card,.tech-card,.ins-card,
    .rsq-contact-form-card,.work-card,.rsq-detail-card,.rsq-detail-feature
  ):active {
    transform: scale(.99);
    border-color: rgba(105,231,211,.55);
  }
}

/* Respect accessibility settings and avoid expensive hover effects. */
@media (prefers-reduced-motion: reduce) {
  :where(
    .home-page,.rsq-services-page,.ind-page,.rsq-about-page,
    .tech-page,.ins-page,.rsq-contact-page,.work-page,.rsq-detail-page
  ) :where(
    .capability-card,.rsq-svc-feature,.rsq-svc-card,.ind-card,
    .rsq-about-value,.rsq-about-proof-card,.tech-card,.ins-card,
    .rsq-contact-form-card,.work-card,.rsq-detail-card,.rsq-detail-feature,
    .work-card-media img,.work-image img
  ) {
    transition: none !important;
    transform: none !important;
  }
}
