/* ==========================================================================
   AGR Global — Sitewide interaction system
   Decision: AGR_GLOBAL_SITEWIDE_INTERACTION_SYSTEM_LOCAL_OWNER_REVIEW_READY
   Reference: Homepage a.corp-card contract
   Rule: only genuinely interactive elements get lift/hover affordance.
   ========================================================================== */

:root {
  --agr-motion-fast: 160ms;
  --agr-motion-standard: 200ms;
  --agr-ease-standard: cubic-bezier(0.22, 1, 0.36, 1);
  --agr-card-lift: -2px;
  --agr-card-media-scale: 1.02;
  --agr-shadow-rest: 0 1px 2px rgba(34, 49, 63, 0.05);
  --agr-shadow-hover: 0 8px 22px rgba(34, 49, 63, 0.12);
  --agr-focus-ring: #A3211B;
}

/* ---- Clickable cards / panels (must be <a>) ---- */
a.corp-card,
a.cases-p2-card,
a.knowledge-card,
a.align-industry-card,
a.about-align-group-card,
a.pf-step,
a.pf-step--entry {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition:
    transform var(--agr-motion-standard) var(--agr-ease-standard),
    box-shadow var(--agr-motion-standard) ease,
    border-color var(--agr-motion-standard) ease,
    background-color var(--agr-motion-standard) ease;
}

a.corp-card .media img,
a.corp-card .media .corp-ph,
a.corp-card .panel-bg img,
a.corp-card .panel-bg .corp-ph,
a.cases-p2-card .media img,
a.cases-p2-card .media .corp-ph,
a.cases-p2-card .media .media-slot {
  transition: transform 220ms var(--agr-ease-standard);
}

a.corp-card .corp-card__cta,
a.corp-card .corp-text-link,
a.cases-p2-card .corp-card__cta,
a.knowledge-card .corp-card__cta,
a.about-align-group-card .about-align-group-url,
a.pf-step .pf-step__cta,
a.pf-step--entry .pf-step__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: transform var(--agr-motion-standard) ease, color var(--agr-motion-standard) ease, opacity var(--agr-motion-standard) ease;
}

a.corp-card:hover,
a.cases-p2-card:hover,
a.knowledge-card:hover,
a.align-industry-card:hover,
a.about-align-group-card:hover,
a.pf-step:hover,
a.pf-step--entry:hover {
  transform: translateY(var(--agr-card-lift));
  box-shadow: var(--agr-shadow-hover);
}

a.corp-card:hover .media img,
a.corp-card:hover .media .corp-ph,
a.corp-card:hover .panel-bg img,
a.corp-card:hover .panel-bg .corp-ph,
a.cases-p2-card:hover .media img,
a.cases-p2-card:hover .media .corp-ph,
a.cases-p2-card:hover .media .media-slot {
  transform: scale(var(--agr-card-media-scale));
}

a.corp-card:hover .corp-card__cta,
a.corp-card:hover .corp-text-link,
a.cases-p2-card:hover .corp-card__cta,
a.knowledge-card:hover .corp-card__cta,
a.pf-step:hover .pf-step__cta,
a.pf-step--entry:hover .pf-step__cta {
  transform: translateX(3px);
  color: var(--red, #A3211B);
}

a.pf-step:hover h3,
a.pf-step--entry:hover h3 {
  color: var(--red, #A3211B);
}

a.corp-card:focus-visible,
a.cases-p2-card:focus-visible,
a.knowledge-card:focus-visible,
a.align-industry-card:focus-visible,
a.about-align-group-card:focus-visible,
a.pf-step:focus-visible,
a.pf-step--entry:focus-visible {
  outline: 2px solid var(--agr-focus-ring);
  outline-offset: 3px;
}

/* Stronger border contrast on linked cards that already have borders */
a.corp-card--product:hover,
a.cases-p2-card:hover,
a.knowledge-card:hover,
a.align-industry-card:hover,
a.about-align-group-card:hover,
a.pf-step:hover,
a.pf-step--entry:hover {
  border-color: #5A7083;
}

/* ---- Buttons / primary links ---- */
a.corp-btn,
a.btn-primary,
a.btn-outline {
  transition:
    transform var(--agr-motion-standard) ease,
    box-shadow var(--agr-motion-standard) ease,
    background-color var(--agr-motion-standard) ease,
    border-color var(--agr-motion-standard) ease,
    color var(--agr-motion-standard) ease;
}

a.corp-btn:hover,
a.btn-primary:hover {
  transform: translateY(-2px);
}

a.corp-btn:focus-visible,
a.btn-primary:focus-visible,
a.btn-outline:focus-visible {
  outline: 2px solid var(--agr-focus-ring);
  outline-offset: 3px;
}

/* ---- Explicitly static: no card hover affordance ---- */
article.align-product-card,
.pf-evidence-card,
.about-align-flow li,
.about-align-japan-steps article,
.pf-trust-card,
div.pf-step {
  /* content blocks — do not lift */
  cursor: default;
}

article.align-product-card:hover,
div.pf-step:hover {
  transform: none;
  box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
  a.corp-card,
  a.cases-p2-card,
  a.knowledge-card,
  a.align-industry-card,
  a.about-align-group-card,
  a.pf-step,
  a.pf-step--entry,
  a.corp-card .media img,
  a.corp-card .media .corp-ph,
  a.corp-card .panel-bg img,
  a.corp-card .panel-bg .corp-ph,
  a.cases-p2-card .media img,
  a.cases-p2-card .media .corp-ph,
  a.cases-p2-card .media .media-slot,
  a.corp-card .corp-card__cta,
  a.corp-card .corp-text-link,
  a.pf-step .pf-step__cta,
  a.pf-step--entry .pf-step__cta,
  a.corp-btn,
  a.btn-primary,
  a.btn-outline {
    transition: none;
  }

  a.corp-card:hover,
  a.cases-p2-card:hover,
  a.knowledge-card:hover,
  a.align-industry-card:hover,
  a.about-align-group-card:hover,
  a.pf-step:hover,
  a.pf-step--entry:hover,
  a.corp-card:hover .corp-card__cta,
  a.pf-step:hover .pf-step__cta,
  a.pf-step--entry:hover .pf-step__cta,
  a.corp-btn:hover,
  a.btn-primary:hover {
    transform: none;
  }

  a.corp-card:hover .media img,
  a.corp-card:hover .media .corp-ph,
  a.corp-card:hover .panel-bg img,
  a.corp-card:hover .panel-bg .corp-ph,
  a.cases-p2-card:hover .media img,
  a.cases-p2-card:hover .media .corp-ph,
  a.cases-p2-card:hover .media .media-slot {
    transform: none;
  }
}
