/* ENENINTA V12 — SHINY PLASTIC / PHYSICAL PRESS STATES
   Rest = convex molded plastic; hover/focus = partial push (concave);
   active pointer/keyboard/click = full mechanical press with reflected light shift.
   Purely visual interaction. No aria-pressed state for navigation links. */
:root { --press-speed: 170ms; }
:is(.shiny-button,.liquid-cta,.nav-contact,.back-btn,.pill) {
  --glint-x: 50%; --glint-y: 42%;
  transform-origin:center center;
  will-change:auto;
  transition: transform var(--press-speed) cubic-bezier(.18,.65,.19,1),
      box-shadow var(--press-speed) ease, filter var(--press-speed) ease,
      background var(--press-speed) ease, color var(--press-speed) ease;
  -webkit-tap-highlight-color: transparent;
  touch-action:manipulation;
}
/* The upper rim acts as a movable surface highlight, not a generic gradient glow. */
:is(.shiny-button,.liquid-cta,.nav-contact,.back-btn,.pill)::after {
  background:radial-gradient(ellipse 48% 75% at var(--glint-x) var(--glint-y),
    color-mix(in srgb,var(--white) 28%,transparent),transparent 78%);
  border-top-color:color-mix(in srgb,var(--white) 64%,transparent);
  border-bottom-color:color-mix(in srgb,color-mix(in srgb,var(--ink) 60%,var(--lacquer)) 31%,transparent);
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
/* Pointer is nearby: cap descends ~2px; external cast shadow recedes, inset shadow grows. */
@media(hover:hover) {
  :is(.shiny-button,.liquid-cta,.nav-contact,.back-btn,.pill):hover {
    transform:translateY(2px) scale(.987) !important;
    filter:saturate(1.045) brightness(1.025);
    box-shadow:
      inset 0 5px 9px color-mix(in srgb,color-mix(in srgb,var(--ink) 60%,var(--lacquer)) 35%,transparent),
      inset 0 1px 3px color-mix(in srgb,color-mix(in srgb,var(--ink) 95%,var(--lacquer)) 28%,transparent),
      inset 0 -2px 3px color-mix(in srgb,var(--white) 45%,transparent),
      0 1px 2px color-mix(in srgb,var(--ink) 24%,transparent),
      0 0 15px color-mix(in srgb,var(--coral) 12%,transparent) !important;
  }
  :is(.shiny-button,.liquid-cta,.nav-contact,.back-btn,.pill):hover::before {opacity:0 !important;}
  :is(.shiny-button,.liquid-cta,.nav-contact,.back-btn,.pill):hover::after {
    border-top-color:color-mix(in srgb,color-mix(in srgb,var(--ink) 60%,var(--lacquer)) 37%,transparent);
    border-bottom-color:color-mix(in srgb,var(--white) 80%,transparent);
    box-shadow:inset 0 2px 5px color-mix(in srgb,color-mix(in srgb,var(--ink) 70%,var(--lacquer)) 22%,transparent), inset 0 -1px 3px color-mix(in srgb,var(--white) 48%,transparent);
  }
}
/* Keyboard focus gets the same physical half-depressed preview, plus a visible focus ring. */
:is(.shiny-button,.liquid-cta,.nav-contact,.back-btn,.pill):focus-visible {
  transform:translateY(2px) scale(.987) !important;
  outline:3px solid var(--focus);
  outline-offset:4px;
  box-shadow:inset 0 5px 9px color-mix(in srgb,color-mix(in srgb,var(--ink) 60%,var(--lacquer)) 35%,transparent),inset 0 -2px 3px color-mix(in srgb,var(--white) 45%,transparent),0 1px 2px color-mix(in srgb,var(--ink) 28%,transparent) !important;
}
:is(.shiny-button,.liquid-cta,.nav-contact,.back-btn,.pill):focus-visible::before {opacity:0 !important;}
/* Full depression: physically sinks into the base, pool of light shifts to lower rim. */
:is(.shiny-button,.liquid-cta,.nav-contact,.back-btn,.pill):is(:active,.is-fully-pressed) {
  transform:translateY(5px) scale(.968) !important;
  filter:saturate(1.12) brightness(.95) !important;
  background: var(--primary-pressed)!important;
  box-shadow:
    inset 0 8px 14px color-mix(in srgb,color-mix(in srgb,var(--ink) 75%,var(--lacquer)) 55%,transparent),
    inset 0 3px 4px color-mix(in srgb,color-mix(in srgb,var(--ink) 95%,var(--lacquer)) 35%,transparent),
    inset 0 -3px 8px color-mix(in srgb,color-mix(in srgb,var(--mist) 5%,var(--frost)) 50%,transparent),
    0 0 0 1px color-mix(in srgb,color-mix(in srgb,var(--mist) 10%,var(--frost)) 27%,transparent),
    0 1px 2px color-mix(in srgb,var(--ink) 20%,transparent) !important;
}
:is(.shiny-button,.liquid-cta,.nav-contact,.back-btn,.pill):is(:active,.is-fully-pressed)::before {opacity:0 !important;}
:is(.shiny-button,.liquid-cta,.nav-contact,.back-btn,.pill):is(:active,.is-fully-pressed)::after {
  border-top-color:color-mix(in srgb,color-mix(in srgb,var(--ink) 65%,var(--lacquer)) 65%,transparent);
  border-bottom-color:color-mix(in srgb,var(--white) 94%,transparent);
  background:linear-gradient(0deg,color-mix(in srgb,var(--white) 28%,transparent),transparent 56%);
  box-shadow:inset 0 3px 8px color-mix(in srgb,color-mix(in srgb,var(--ink) 65%,var(--lacquer)) 38%,transparent),inset 0 -2px 4px color-mix(in srgb,var(--white) 60%,transparent);
}
/* The blue secondary button has its own pressed plastic material, not a coral fill. */
.shiny-button--outline:is(:active,.is-fully-pressed) {
  color:var(--white) !important;
  background: var(--secondary-pressed)!important;
  box-shadow:inset 0 8px 14px color-mix(in srgb,var(--ink) 66%,transparent),inset 0 -3px 8px color-mix(in srgb,color-mix(in srgb,var(--mist) 20%,var(--frost)) 37%,transparent),0 1px 2px color-mix(in srgb,var(--black) 22%,transparent) !important;
}
/* No Play icon is reintroduced into ordinary CTAs. Service icons and Media Player remain unchanged. */
:is(.shiny-button,.liquid-cta,.nav-contact,.back-btn,.pill) > .action-glyph{display:none !important}
@media (prefers-reduced-motion:reduce){
  :is(.shiny-button,.liquid-cta,.nav-contact,.back-btn,.pill),
  :is(.shiny-button,.liquid-cta,.nav-contact,.back-btn,.pill)::after {transition:none!important}
}
